[英]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();
编辑
不同的问题:LinkButton有一个事件处理程序,但也有一个HRef属性。 在有机会调用代码之前,它正在移至新页面。
不要在链接按钮中单击Href,它会使您在执行onclick事件之前离开当前页面。 这就是为什么后面的代码没有执行的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.