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

本文关键字:ASP NET 运行 单击 代码 内联 | 更新日期: 2023-09-27 18:29:14

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

上面的代码是用Navigation.ascx(Web Form User Control(编写的,几乎所有网站页面都注册了导航。现在我希望上面的代码 <%=Session["IDs"] = null%> 仅在我单击注销时运行。

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

**新代码

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

受保护的无效logout_click(对象发送器,事件参数 e( { 会话["ID"] = 空; Response.Redirect("Login.aspx"(; }

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

您有以下几种选择:

  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["IDs"] = null 的页面,并重定向到主页.aspx: <a href='RedirectToMainPage.aspx'>Log out</a>

我已经按照Ziv Weissman的建议使用了选项#2。

  1. 将 href 值更改为另一个页面。
  2. 现在在该页面中将会话值更改为空
  3. 并重定向到某个页面。