C# ASP.NET MVC:Razor ActionLink问题

C# ASP.NET MVC:Razor ActionLink问题,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我环顾四周,但没有找到解决我问题的办法。如有任何建议,将不胜感激 我的网站有很多的视图;家、物品和包装 在Item/detail页面上,我创建了以下链接,在本例中,该链接传递Item73的ItemID: @Html.ActionLink("Create New", "Packaging/Create", new { id = Model.ItemID }) 它链接到项目视图中的此处: http://localhost:52618/Item/Packaging/Crea

我环顾四周,但没有找到解决我问题的办法。如有任何建议,将不胜感激

我的网站有很多的视图;家、物品和包装

在Item/detail页面上,我创建了以下链接,在本例中,该链接传递Item73的ItemID:

@Html.ActionLink("Create New", "Packaging/Create", new { id = Model.ItemID })
它链接到项目视图中的此处:

             http://localhost:52618/Item/Packaging/Create/73
但是,我希望它在打包视图中链接到这里:

             http://localhost:52618/Packaging/Create/73
谢谢,

应该是:

@Html.ActionLink("Create New", "Create", "Packaging", null, new { id = Model.ItemID })
参数: 1.链接文本 2.动作名称 3.控制器名称 4.路线值
5.Html属性

问题在于,当您没有传递“控制器”时,
Html.ActionLink
选择当前控制器

解决方案是在
Html.ActionLink
函数调用中传递控制器。您需要使用正确的


ActionLink
第一个参数是要调用的方法的名称,第二个参数是控制器的名称

我想你应该这样做

@Html.ActionLink("Create", "Packaging", new { id = Model.ItemID })

问题似乎是你定义了一个区域。在这种情况下,您需要指定以下附加参数:

@Html.ActionLink("Create New", "Create", "Packaging", new { area = "", id = model.ItemID}, null)

我还没有测试代码,但应该是这样的。指定空区域将创建指向当前活动区域之外控制器的链接。

我们是否有重载作为
ActionLink(HtmlHelper,String,String,Object)
因此它将不起作用,仅用于记录未被否决的
区域=”“
将不起作用,因为未定义区域,然而,它将工作,由于正确的过载!谢谢你的帮助。非常感谢。
@Html.ActionLink("Create New", "Create", "Packaging", new { area = "", id = model.ItemID}, null)