Asp.net mvc href正在当前url末尾添加url
我有一个从数据库填充的菜单,它从我的模型进入我的视图。菜单生成的链接是正确的。但是,它被附加到我的URL的末尾,而不是替换它Asp.net mvc href正在当前url末尾添加url,asp.net-mvc,razor,Asp.net Mvc,Razor,我有一个从数据库填充的菜单,它从我的模型进入我的视图。菜单生成的链接是正确的。但是,它被附加到我的URL的末尾,而不是替换它 <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria- haspopup="true" aria-expanded="false" href="@menuLevel1.MenuLink"> @men
<a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-
haspopup="true" aria-expanded="false" href="@menuLevel1.MenuLink">
@menuLevel1.MenuName
</a>
in my DB Menulink="~/Admin/changepassword.aspx"
在my DB Menulink=“~/Admin/changepassword.aspx”中
所以当我点击按钮时,我看到的就是这个
它正在将url添加到当前url之后的结尾。更改
href="@menuLevel1.MenuLink"
到
Url.Content用于解析站点上任何文件或资源的Url,并将其传递到相对路径:
@Url.Content("~/path/file.htm")
Action用于解析来自控制器的操作,例如:
@Url.Action("ActionName", "ControllerName", new { variable = value })
您必须在控制器中添加操作:
public YourControllerController : Controller
{
public ActionResult YourAction() { /* stuff */ }
}
一些链接是空的,这就是为什么我得到错误,现在它正在工作。谢谢史蒂夫·哈里斯
@if (menuLevel2.MenuLink != null && menuLevel2.MenuLink != "")
{
<a href="@Url.Content(menuLevel2.MenuLink)">
@menuLevel2.MenuName
</a>
}
else
{
<a href="~/Homepage.aspx">
@menuLevel2.MenuName
</a>
}
@if(menuLevel2.MenuLink!=null&&menuLevel2.MenuLink!=“”)
{
}
其他的
{
}
不起作用,获取值不能为null或空。参数名称:ContentPath缓存是否可能已损坏?可以使用string.IsNullOrEmpty(menuLevel2.MenuLink)稍微清理if语句
@if (menuLevel2.MenuLink != null && menuLevel2.MenuLink != "")
{
<a href="@Url.Content(menuLevel2.MenuLink)">
@menuLevel2.MenuName
</a>
}
else
{
<a href="~/Homepage.aspx">
@menuLevel2.MenuName
</a>
}