我刚刚在 Site.Master 中创建了路由链接,但它创建了一个奇怪的错误
例如,点击它时,它变为http://localhost/Admin/ManageType
而不是http://localhost/~/Admin/ManageType
。
我试图通过删除~/
来解决这个问题,但它有效,但它有一个缺陷。点击工作后会将您带到页面,但再次点击时,它会变为http://localhost/Admin/Admin/ManageType
而不是http://localhost/~/Admin/ManageType
。
<ul class="nav navbar-nav">
<li><a runat="server" href="~/">Home</a></li>
<li><a runat="server" href="~/About">About</a></li>
<li class="dropdown">
<a href="#" data-toggle="dropdown" class="dropdown-toggle">Manage <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="Admin/ManageType">Recipe</a></li>
<li class="divider"></li>
<li><a href="Admin/ManageType">Type</a></li>
</ul>
</li>
<li><a runat="server" href="~/Recipe/Recipe">Recipe</a></li>
</ul>
答案 0 :(得分:1)
请改用Control.ResolveUrl
方法
你需要改变:
<li><a href="Admin/ManageType">Recipe</a></li>
要:
<li><a href="<%= Page.ResolveUrl("~/Admin/ManageType") %>" title="ManageType" >ManageType</a></li>
答案 1 :(得分:0)
试试这个:
<li><a href="~/Admin/ManageType" runat="server">Type</a></li>