簡體   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