Html.ActionLink从不同文件夹中的另一个控制器调用操作

时间:2013-07-12 22:59:57

标签: c# asp.net-mvc asp.net-mvc-4 actionlink

我有一个简单的视图,如果登录成功并且位于/ Login下,则会创建一个链接:

<div>
@Html.ActionLink("Add a new Organization", "AddOrganization", 
           "/Setup/AddOrganizationController", new { id = Session["ID"] }, null)
</div>

在阅读其他类似的问题后,我尝试添加null之后,以及其他一些重载,但我无法使链接正常工作。当我点击链接时,它会转到

http://setup/AddOrganizationController/AddOrganization

哪个省略了需要在那里的localhost部分。如果最后没有null,它会尝试将我发送给

/Login/AddOrganization

我想要的只是一个链接,它将在AddOrganizationController控制器中运行一个动作,该控制器位于/ Setup目录下。该链接还应将会话ID作为参数传递给控制器​​。我怎么能这样做?

1 个答案:

答案 0 :(得分:6)

如果它在同一个Area,那么你可以这样做:

@Html.ActionLink("Add a new Organization", "AddOrganization", "Organizations", new { id = Session["ID"] })

其中“组织”是控制器名称。

否则,如果它在另一个区域,你会做类似

的事情
@Html.ActionLink("Add a new Organization", "AddOrganization", "Organizations", new { area = "areaName", id = Session["ID"] }, null)