在mvc项目中有两个控制器
HomeController
包含视图client
EndorsementController
包含视图add
来自add
中的EndorsmentController
视图我写了一个动作链接,如下所示
@Html.ActionLink("Back to Home", "client", "Home", new { @style = "color: #FFF" })
但是,当我点击此动作链接时,它正在寻找一个URL
Endorsement/client
实际上它应该是
Home/Client
为什么没有采用正确的控制器名称?我缺少什么?
答案 0 :(得分:3)
您使用了错误的ActionLink
重载方法。您可以在视图中尝试以下代码:
@Html.ActionLink("Back to Home", "client", "Home", null, new { @style = "color: #FFF" })
呈现的HTML将如下所示:
<a href="/Home/client" style="color: #FFF">Back to Home</a>
只是一个指针尝试大写您的视图名称,而不是使用client
尝试Client
。两者都有效。
答案 1 :(得分:1)
你把你的html属性放在&#34; object route values
&#34;
你必须把null
放进去
使用以下语法获得正确的输出:
@Html.ActionLink("Back to Home", "client", "Home", null, new { @style = "color: #FFF" })
答案 2 :(得分:1)
带回家的重点是你想要使用的特殊超载。由于这是您想要使用synthax://linkText, actionName, controllerName, routeValues, htmlAttributes
,以下是您的ActionLink
应该是这样的
@Html.ActionLink("Back to Home", "Client", "Home", null, new { @style = "color: #FFF" })
您之前使用的是这个synthax:// linkText, actionName, routeValues, htmlAttributes
,如下所示
@Html.ActionLink("Back to Home", "client", "Home", new { @style = "color: #FFF" })
因此Url
混淆