我在主项目文件夹中有以下导航按钮,可以正确导航到每个页面
analysis.aspx:
<div id="top-menu" class="float-right">
<ul class="main">
<li><a href="home.aspx" class="current"><span>Home</span></a> </li>
<li><a href="analysis.aspx"><span>Analysis</span></a> </li>
<li><a href="blog.aspx"><span>Blog</span></a> </li>
<li><a href="contact.aspx"><span>Contact</span></a> </li>
</ul>
</div>
当用户正确登录时,analysis.aspx
应重定向到管理文件夹中的类似版本
analysis.aspx.cs:
protected void Page_Load(object sender, EventArgs e)
{
if (Page.User.IsInRole("admin"))
{
//Admin
Response.Redirect("/admin/analysis.aspx");
//base.OnLoad(e);
}
else if (Page.User.IsInRole("member"))
{
//Members
}
else if (Page.User.IsInRole("trial"))
{
//Trial
}
Else
{
//Keep Out
}
}
这很好用。但是,重定向到admin / analyis.aspx页面后,没有任何链接工作。页面似乎刷新但保持在同一页面上。我试图链接到基础项目文件夹和管理文件夹中的页面没有成功,到目前为止,我已经尝试过没有成功。有2个home.aspx页面,一个在项目文件夹中,另一个在管理员中。
系统管理员/ analysis.aspx.cs:
<li><a href="home.aspx" class="current"><span>Home</span></a> </li>
<li><a href="~/home.aspx" class="current"><span>Home</span></a> </li>
<li><a href="~/admin/home.aspx" class="current"><span>Home</span></a> </li>
<li><a href="/admin/home.aspx" class="current"><span>Home</span></a> </li>
点击http://localhost:6246/admin/analysis.aspx?ReturnUrl=%2fadmin%2fhome.aspx
任何想法我做错了什么?
答案 0 :(得分:1)
如果我看到您的代码,似乎您没有在href上放置runat =“sever”属性。如果你想在asp.net上使用〜作为root符号,那么你需要添加runat =“server”属性,这样就可以让.NET框架将对象编译为asp.net对象。
试试这个
<li><a href="home.aspx" class="current" runat="server"><span>Home</span></a> </li>
<li><a href="~/home.aspx" class="current" runat="server"><span>Home</span></a> </li>
<li><a href="~/admin/home.aspx" class="current" runat="server"><span>Home</span></a> </li>
<li><a href="/admin/home.aspx" class="current" runat="server"><span>Home</span></a> </li>
如果它解决了您的问题,请告诉我