簡體   English   中英

從子頁面永久更改主頁內容

[英]Altering masterpage content permanently from a subpage

假設我有一個母版頁和 2 個子頁。 為了簡單起見,我將第一個子頁面稱為子頁面 A,將另一個子頁面稱為子頁面 B。

現在假設我使用以下代碼在子頁面 A 的母版頁 label 中進行了更改:

var lbl = this.Master.FindControl("my_control") as Label;
lbl.Text = "mynewtext";

它通常是 function,我會看到 my_control label 有不同的文本。

但是,如果我切換到子頁面 B,母版頁 label 將變回其初始形式。 我知道為什么:每次我加載一個帶有特定母版頁的頁面時,母版頁會隨着子頁面的 Page_load 事件一遍又一遍地加載。 由於在母版頁的代碼隱藏中,label 'my_control' 具有不同的字符串值,因此我在子頁面 A 中的代碼更改消失了。

所以我的問題是,如何防止這種情況發生,如何使子頁面派生母版頁值? 或者簡而言之,我怎樣才能通過子頁面永久修改母版頁?

我能想到的最干凈的方法是將更改持久化在某種存儲中並創建流程:

  1. 第一次加載默認值
  2. 第一個子頁面,更改值並將更改保存在數據庫或類似的
  3. 第二個負載將采用調整后的值而不是默認值。

快速測試是將值存儲到 session 結構中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM