错误的URL在鼠标悬停在剃刀
我有一个Web应用程序ASP.Net MVC 4在VS 2017. 我做了一个自定义帮手(链接)。 我调试和自定义助手输出正确的链接: 像这样:错误的URL在鼠标悬停在剃刀
<a href="MyController/MyAction?Id=3" id="MyLink">Click here</a>
此外,在浏览器的查看源代码,它显示正常。
但是,当我鼠标放在链接的URL这样表示:
http://localhost:1234/MyController/MyController/MyAction?Id=3
也就是说,控制器部件出现重复,当然 的,当我点击,它不会去的正确的目标。
任何想法,发生了什么?
您似乎在输出相对URL。相对于当前显示的URL,相对URL始终是.. ahem ..
您可能希望在相对URL之前放置一个斜杠,以使其相对于网站的根,而不是相对于当前URL。
<a href="/MyController/MyAction?Id=3" id="MyLink">Click here</a>
哪些工作正常,直到您将应用程序部署为网站内的应用程序,例如'FooApp'。然后链接转到'http:// localhost/MyController'而不是'http:// localhost/FooApp/MyController'。有一个原因MVC带有链接助手,他们很好地工作。不要重新发明*。 – CodeCaster
你说得对,Sam Axe。我添加了一个斜杠,它显示确定, –
是的我使用MVC附带的帮助程序,但是这次我需要一个自定义帮助程序,因为我需要一些逻辑在链接内显示不同的内容和标记(取决于条件)。为了简单起见,我没有在答复中列入。 –
在上述Url.Action方法中,第一参数是动作方法的名称,第二个参数是在其中此操作方法存在控制器的名称。
<a href="@(Url.Action("MyAction","MyController",new{Id=3}))" id="MyLink">Click here</a>
你犯了一个自定义链接帮手。它会导致错误。您需要有关该错误的帮助。然后请阅读[问],并包括您的自定义链接助手的实际代码。 – CodeCaster