母版页链接生成错误-s#arp架构
-
12-12-2019 - |
题
我正在使用s#arp架构2.0与asp.net mvc3.0。母版页中的razor代码如下所示:
@Html.ActionLink("Logout", "LogOff", "Users", new { style = "color:Blue;" })
由于某种原因,应用程序不再产生正确的链接(控制器用户的操作注销),而是指向当前控制器的操作注销。我没有改变任何东西。我必须在哪里挖掘才能克服这个问题?
生成的链接如下所示:
CurrentControllerName/注销?长度=5
解决方案
你在叫一个 错误过载 的ActionLink助手。你是这么做的:
@Html.ActionLink(
"Logout", // linkText
"LogOff", // actionName
"Users", // routeValues
new { style = "color:Blue;" } // htmlAttributes
)
很明显,为什么这不会产生正确的url。你正在路过 "Users"
它是帮助程序期望的位置的字符串值 routeValues
它必须代表一个匿名对象。
该 正确过载 是:
@Html.ActionLink(
"Logout", // linkText
"LogOff", // actionName
"Users", // controllerName
null, // routeValues
new { style = "color:Blue;" } // htmlAttributes
)
不隶属于 StackOverflow