如何在mvc应用程序中动态创建静态URL

时间:2015-04-17 19:23:48

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

我创建了一个网站,我通过这样的网址:

<base href="http://localhost:5423/" />

这一切都适合当地人。

但现在我正在部署主机,问题出现在这里:

在同一个index.vbhtml上,我使用过这样的菜单:

<li><a class="home" href="Home/Index">Home</a></li>
<li class="wish"><a class="wishlist" href="Products/Index" id="wishlist-total">Products</a></li>
<li><a class="account" href="Home/Contact">Contact Us</a></li>

现在如果我正在尝试

HttpContext.Current.Request.Url

然后每次添加根路径,就像我点击Home一样,它第一次显示正确:

http://192.168.1.100/Home/Index

但是现在如果我再次点击相同的链接,它再次添​​加Home:

http://192.168.1.100/Home/Home/Index

应该解决这个问题。

此致

1 个答案:

答案 0 :(得分:1)

您可以使用Url.Action帮助

<li><a class="home" href="@Url.Action("Index", "Home")">Home</a></li>
<li class="wish"><a class="wishlist" href="@Url.Action("Index", "Products")" id="wishlist-total">Products</a></li>
<li><a class="account" href="@Url.Action("Contact", "Home")">Contact Us</a></li>

修改

要生成绝对网址,请尝试:

Url.Action("Index", "Home", null, Request.Url.Scheme)
Url.Action("Index", "Products", null, Request.Url.Scheme)
Url.Action("Contact", "Home", null, Request.Url.Scheme)