ASP.NET MVC:Razor ActionLink问题

时间:2015-05-26 12:38:17

标签: c# asp.net-mvc razor

我环顾四周,但未能找到问题的解决方案。任何建议都将不胜感激。

我的网站有观看次数;家居,物品和包装。

在项目/详细信息页面上,我创建了以下链接,在此示例中,它传递了项目73的ItemID:

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

它在项目视图中链接到此处:

             http://localhost:52618/Item/Packaging/Create/73

但是,我希望它在包装视图中链接到这里:

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

谢谢,

4 个答案:

答案 0 :(得分:1)

不应该是:

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

PARAMS: 1.链接文字 2.动作名称 3.控制器名称 4.路线值 5. Html属性

答案 1 :(得分:1)

问题是当你没有通过“Controller”时,Html.ActionLink会选择当前的控制器。

解决方案是在Html.ActionLink函数调用中传递控制器。您需要使用LinkExtensions.ActionLink Method (HtmlHelper, String, String, String, Object, Object)

的正确重载
@Html.ActionLink("Create New", "Create", "Packaging", new { id = Model.ItemID }, null);

答案 2 :(得分:0)

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

你应该做一些像我想的那样

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

答案 3 :(得分:0)

问题似乎是你有一个区域定义的东西。在这种情况下,您需要指定其他参数,如下所示:

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

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