从ASP.Net MVC中的变量生成href值

时间:2015-12-23 12:28:24

标签: c# asp.net-mvc

控制器动作方法 -

public ActionResult Index()
{
   ViewBag.BaseUrl = "http://localhost:50926/";
   return View();
}

在ViewPage中 -

<a href="@ViewBag.BaseUrl/page.html">One</a>

这会生成如下url(注意结尾处的双斜杠)

"http://localhost:50926//page.html" 

如何摆脱双斜线?请注意,BaseUrl值无法更改。

3 个答案:

答案 0 :(得分:2)

我想这就是你要找的东西:

<a href="@(ViewBag.BaseUrl+"page.html")">One</a>

答案 1 :(得分:1)

在您的观点中尝试此操作:

@{
     Uri baseUri = new Uri(ViewBag.BaseUrl);
     Uri myUri = new Uri(baseUri, "/page.html");
 }

然后在每个你想要的地方使用@myUri。

答案 2 :(得分:0)

解决方案是在page.html之前避免额外的斜杠。但是你不能把这个文本留在变量附近。你必须这样做:

<a href="@(ViewBag.BaseUrl)page.html">One</a>

在这种情况下,您将获得"http://localhost:50926/page.html"而没有意外的双斜杠。