只有在单击ASP.NET时才能运行内联C#代码

时间:2014-11-05 07:32:03

标签: c# asp.net webforms anchor ascx

  <a href='MainPage.aspx<%=Session["IDs"] = null%>'>Log out</a>

以上代码是在Navigation.ascx(Web窗体用户控件)中编写的,导航几乎在所有网站页面中都已注册。现在我想要上面的代码&lt;%= Session [&#34; ID&#34;] = null%&gt;只有在我点击退出时才能运行。

  

Rite现在当我导航到任何页面时,每次都会运行上面的代码。我正在浏览锚标记。

     

**新代码

     

<a runat="server" id="alogout" onclick="logout_click" href="#">Log out</a>

     

protected void logout_click(object sender,EventArgs e)           {               会话[&#34; ID&#34;] = null;               的Response.Redirect(&#34;的Login.aspx&#34);           }

2 个答案:

答案 0 :(得分:1)

您有几种选择:

  1. 添加以下内容的ID:

    <'a runat="server" id="my_anchor" href='MainPage.aspx' onclick="anchor_click">Log out</a>
    

    然后在后面的代码上添加一个方法:

    protected void anchor_click(object sender, EventArgs e)
    {
        Session["IDs"] = null;
    }
    
  2. 将href更改为具有Session [&#34; IDs&#34;] = null并重定向到MainPage.aspx的另一个页面: <a href='RedirectToMainPage.aspx'>Log out</a>

答案 1 :(得分:0)

我使用选项#2作为Ziv Weissman建议。

  1. 将href值更改为其他页面。
  2. 现在在该页面中将Session值更改为null
  3. 并重定向到某个页面。