繁体   English   中英

后面使用主代码的内容页面

[英]Content Page using Master Code Behind

我有一个要求用户登录的网站。登录会创建一个会话,当他们单击主页按钮时(而不是将他们带到非用户主页),会将他们重定向到客户主页。我通过检查是否session["Username"]具有一个值,而session["Loggedin"]设置为true(仅在登录时发生)。

但是,登录后我无法注销。我认为这与我的注销按钮是客户主页继承的customer.Master页面的一部分有关。 主页上的“注销”按钮后面会清除代码,但是当我单击“立即注销”时,它将重定向到客户主页。 背后的母版页代码是否被调用?

public void Logout(object sender, EventArgs e)
{
    Session.Contents.RemoveAll();
    Session["Loggedin"] = false;
    Session["Username"] = null;
    Response.Redirect("/Pages/Default.aspx");
}

若要从另一个页面调用您的母版页代码,您首先需要在.aspx页上使用以下指令对其进行引用(用母版页的路径代替):

 <%@ MasterType VirtualPath="~/customer.master" %> 

您现在应该可以从您的页面访问母版页上的公共成员,如下所示:

 var x = Master.myProperty; Master.myMethod(); 

编辑
不同的问题:LinkBut​​ton有一个事件处理程序,但也有一个HRef属性。 在有机会调用代码之前,它正在移至新页面。

不要在链接按钮中单击Href,它会使您在执行onclick事件之前离开当前页面。 这就是为什么后面的代码没有执行的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM