[英]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.