@Html.操作链接不超链接到实际控制器操作



在 mvc 项目中有两个控制器

  1. HomeController包含视图client
  2. EndorsementController包含视图add

EndorsmentController add视图中,我写了一个操作链接,如下所示

@Html.ActionLink("Back to Home", "client", "Home", new { @style = "color: #FFF" })

但是当我单击此操作链接时,它正在寻找一个 URL

Endorsement/client

其实应该是

Home/Client

为什么它没有采用正确的控制器名称?我错过了什么?

您使用了错误的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 。两者都会起作用。

你把你的html属性放在" object route values你必须把null放进去

使用以下语法获取正确的输出:

@Html.ActionLink("Back to Home", "client", "Home", null, new { @style = "color: #FFF" })

点击这里

带回家的要点是要使用的特定重载。由于这是您要使用的合成器://linkText, actionName, controllerName, routeValues, htmlAttributes以下是您的ActionLink的外观

@Html.ActionLink("Back to Home", "Client", "Home", null, new { @style = "color: #FFF" })

您之前使用的内容遵循以下合成器: // linkText, actionName, routeValues, htmlAttributes

如下所示
@Html.ActionLink("Back to Home", "client", "Home", new { @style = "color: #FFF" })

因此Url混乱

相关内容

最新更新