Razor中鼠标悬停时的URL错误

时间:2017-09-27 13:18:39

标签: asp.net-mvc-4 razor helpers

我在VS 2017中有一个Web应用程序ASP.Net MVC 4。 我做了一个自定义助手(一个链接)。 我调试了自定义帮助器输出正确的链接: 像这样:

<a href="MyController/MyAction?Id=3" id="MyLink">Click here</a>

同样在浏览器的视图源代码中,它显示确定。

但是,当我将鼠标悬停在链接上时,网址会显示如下:

http://localhost:1234/MyController/MyController/MyAction?Id=3

也就是说,控制器部分显示重复,当然 当我点击时,它没有到达正确的目的地。

任何想法,发生了什么?

2 个答案:

答案 0 :(得分:1)

您似乎正在输出相对网址。相对URL总是相对于当前显示的URL而言是..哼..

您可能希望在相对URL前面放置一个斜杠,使其相对于网站的根目录而不是相对于当前网址。

<a href="/MyController/MyAction?Id=3" id="MyLink">Click here</a>

答案 1 :(得分:0)

在上面的Url.Action方法中,第一个参数是action方法的名称,第二个参数是此操作方法所在的控制器的名称。

Url.Action in ASP.NET MVC

 <a href="@(Url.Action("MyAction","MyController",new{Id=3}))" id="MyLink">Click here</a>