内联C#代码应仅在单击ASP.NET时运行

内联C#代码应仅在单击ASP.NET时运行,c#,asp.net,webforms,anchor,ascx,C#,Asp.net,Webforms,Anchor,Ascx,上面的代码是在Navigation.ascx(Web表单用户控件)中编写的,并且导航几乎在所有网站页面中注册。现在,我希望上述代码仅在单击“注销”时运行 Rite Now当我导航到任何页面时,上面的代码每次都会运行。我正在通过锚标签导航 **新代码 受保护的无效注销\u单击(对象发送者,事件参数e) { 会话[“IDs”]=null; 重定向(“Login.aspx”); } 您有几个选择: 为以下项目添加ID: <a href='MainPage.aspx<%=Session

上面的代码是在Navigation.ascx(Web表单用户控件)中编写的,并且导航几乎在所有网站页面中注册。现在,我希望上述代码仅在单击“注销”时运行

Rite Now当我导航到任何页面时,上面的代码每次都会运行。我正在通过锚标签导航

**新代码

受保护的无效注销\u单击(对象发送者,事件参数e) { 会话[“IDs”]=null; 重定向(“Login.aspx”); }


您有几个选择:

  • 为以下项目添加ID:

      <a href='MainPage.aspx<%=Session["IDs"] = null%>'>Log out</a>
    
  • 将href更改为另一个会话[“IDs”]=null的页面,并重定向到MainPage.aspx:

  • 我使用了Ziv Weissman建议的选项2

  • 将href值更改为其他页面
  • 现在在该页面中,将会话值更改为null
  • 并重定向到某个页面
  • add id意味着向元素添加id=“…”,为什么是只读的?显示您的新代码保护无效注销_单击(对象发送者,事件参数e){Session[“IDs”]=null;Response.Redirect(“Login.aspx”)}我已将#放入href。现在我可以点击了,但代码不会离开它。我使用了选项2。(不管怎样,是的;)
    <'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;
    }