0

各ページに正しく移動するメイン プロジェクト フォルダーに次のナビゲーション ボタンがあります。

分析.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と、管理フォルダーなどの同様のバージョンにリダイレクトされるはずです

分析.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 ページがあり、1 つはプロジェクト フォルダーにあり、もう 1 つは admin にあります。

管理者/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

私が間違っていることはありますか?

4

1 に答える 1

1

あなたのコードを見ると、href に runat="sever" プロパティを設定していないようです。~ を asp.net のルート サインとして使用する場合は、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>

それがあなたの問題を解決するかどうか教えてください

于 2013-06-02T15:10:21.897 に答える