ASP.NET MVC中Url.Action生成href时URL末尾追加分号如何解决
多余分号的来源
你在href属性内书写@Url.Action()调用时,在表达式末尾额外加了半角分号。
在Razor语法中,只有包裹在@{ }代码块内的C#语句才需要用分号做结束标记。直接写在HTML区域/HTML属性里的@表达式不需要加分号,这里的分号会被Razor识别为普通文本,直接拼接到Url.Action()的返回结果后面,最终出现在生成的链接末尾。
修复方案
删除@Url.Action()后的多余分号即可,修正后的完整代码如下:
<ul class="dropdown-menu" aria-labelledby="navbarDropdown"> @{int index = 1;} @foreach (var o in ViewBag.CountryList) { <li><a class="dropdown-item" href="@Url.Action("Details", "countries", new { id = index} )">@o</a></li> index++; } </ul>
内容的提问来源于stack exchange,提问作者Vinayak Jaiwant
相关产品推荐
相关产品推荐

