shr*_*eep 13 c# asp.net asp.net-mvc
在_LoggedInUser.cshtml(位于应用程序根目录下的Views/Shared文件夹中)视图中,我想调用AC控制器的Logout方法.我有两个选择:
使用ActionLink
@Html.ActionLink("Logout", "Logout", "AC", new { area = string.Empty })
Run Code Online (Sandbox Code Playgroud)
要么
<a href="@Url.Action("Logout", "AC", new { area = string.Empty })">Logout</a>
Run Code Online (Sandbox Code Playgroud)
我指定区域因为我想调用AC控制器的动作方法而不管它在哪个区域.
据我所知,@ Html.ActionLink()和@ Url.action之间的区别是首先生成一个锚标记,其中第二个返回一个网址(如果我错了请纠正我),所以我猜两个都应该针对相同位置但在这里@ Html.ActionLink有以下链接位置:
http://localhost:13974/Home/logout?Length=2
Run Code Online (Sandbox Code Playgroud)
而<a href="@Url.Action(....有以下链接位置:
http://localhost:13974/AC/Logout
Run Code Online (Sandbox Code Playgroud)
当删除区域属性时,两个链接都正常工作,但是当我指定区域时,@ Html.ActionLink()会中断
当我指定区域时,为什么两个链接都定位到不同的位置?
Sat*_*pal 20
您可以使用
@Html.ActionLink("Logout", "Logout", "AC", new { area = string.Empty }, null)
Run Code Online (Sandbox Code Playgroud)
你可以使用过载, LinkExtensions.ActionLink Method (HtmlHelper, String, String, String, Object, Object)
有关更多信息,请访问LinkExtensions.ActionLink
另外,
没有超载 LinkExtensions.ActionLink Method (HtmlHelper, String, String, String, Object)
| 归档时间: |
|
| 查看次数: |
24334 次 |
| 最近记录: |