加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何通过在MasterPage上单击按钮来处理usercontrol中

发布时间:2020-12-16 09:49:57 所属栏目:asp.Net 来源:网络整理
导读:我在带有MasterPage的webform中有usercontrol. MasterPage有一个注销按钮: protected void lbtnLogout_Click(object sender,EventArgs e) { FormsAuthentication.SignOut(); Roles.DeleteCookie(); Session.Clear(); Response.Redirect("~/Account/WebLogin
我在带有MasterPage的webform中有usercontrol. MasterPage有一个注销按钮:

protected void lbtnLogout_Click(object sender,EventArgs e)
    {
        FormsAuthentication.SignOut();
        Roles.DeleteCookie();
        Session.Clear();
        Response.Redirect("~/Account/WebLogin.aspx");
    }

当我单击注销按钮时,usercontrol正在重新加载,然后调用上面的eventhandler,从而不必要地访问数据库.

我该如何处理回发?有没有办法在usercontrol中忽略它?

提前致谢.

更新:我之前应该提到过.我正在使用一个实现框架“WebFormsMvp”.具有MasterPage的webform具有多个用户控件,这些用户控件是在运行时绑定到各自演示者的视图.我没有处理任何用户控件中的Page_Load,因为在Page_Load事件之前,框架将数据绑定到每个用户控件.

我会相应地更新这个问题的标签.

解决方法

一种选择是为注销添加一个全新的aspx / ashx页面.该页面有自己的演示者(或包含一个具有自己的演示者的usercontrol),其中包含注销逻辑(并重定向回登录页面).

然后将您的注销链接更改为指向新页面的正常a tag(而不是像您当前那样使用回发).

这种方法与http://forums.asp.net/t/1369480.aspx/1的第二篇文章(第一次回复)基本相同,适用于http://webformsmvp.com/的工作方式.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读