2017-01-17 9 views
0

にハイパーリンクするコードをバック追加私が最初にこのは、ASP

<li><asp:HyperLink id="logoutBtn" NavigateUrl="login.aspx" Text="Logout" runat="server"><i class="fa fa-sign-out fa-fw"></i> Logout </asp:HyperLink></li> 

を持っているしかし、私は彼がこのバックのコードを実行する前に、それがページに最初行くと思います。 Sessionがクリアされていないため

public void logoutBtn_Click(object sender, EventArgs e) 
{ 
    Session.Clear(); 
    Response.Redirect("../login.aspx"); 
} 

だから基本的に私はまだ任意のサイトにアクセスすることができます。

HyperLinkをクリックするたびにどのように達成できますか?

答えて

1

ハイパーリンクの目的は、ユーザーを別の宛先に移動することです。 (プラス、あなたが背後にあるコードを実行しますあなたのハイパーリンクに接続されたクリックイベントハンドラを持っていません。)

を使用すると、サーバー側のコードの使用を実行したい場合は、古き良きbutton

<asp:Button ID="logoutBtn" runat="server" onclick="logoutBtn_Click" Text="Logout" /> 

public void logoutBtn_Click(object sender, EventArgs e) 
{ 
    Session.Clear(); 
    Response.Redirect("../login.aspx"); 
} 
あなたは、ユーザーがログアウトする asp:Hyperlinkコントロールを使用して、特定のログアウトページに彼を移動したい場合は

<li><asp:HyperLink id="logoutBtn" NavigateUrl="logout.aspx" Text="Logout" runat="server"><i class="fa fa-sign-out fa-fw"></i> Logout </asp:HyperLink></li> 

がlogout.aspxページを作成し、Page_Loadイベントで、ユーザをログアウト:

protected void Page_Load(object sender, EventArgs e) 
{ 
    Session.Clear(); 
    Response.Redirect("../login.aspx"); 
} 
+0

私は ''を実行することができません。なぜなら、テンプレートを台無しにするからです。私の2セントでは、できるだけ2つ目の選択肢を持たないようにしています。しかし、それ以外の方法はありません。さて、私はそれを受け入れるでしょう。説明ありがとうございました – Fiendcoder1

+0

テンプレートに収まるまでボタンをスタイルします。それはCSSのためのものです、そうですか? – Marco

+0

私は試しましたが、私はまだ良いCSSではないと思います。 – Fiendcoder1