Html.ActionLink从不同的控制器调用一个操作,该控制器';s在另一个文件夹中

本文关键字:控制器 文件夹 另一个 操作 ActionLink 调用 Html 一个 | 更新日期: 2023-09-27 18:22:06

我有一个简单的视图,如果登录成功,它会创建一个链接,并且位于/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

我只想要一个链接,它将在/Setup目录下的AddOrganizationController控制器中运行操作。链接还应将会话id作为参数传递给控制器。我该怎么做?

Html.ActionLink从不同的控制器调用一个操作,该控制器';s在另一个文件夹中

如果它在同一个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)