aspx頁面中標題單點解決方案

2021-04-17 00:32:07 字數 1115 閱讀 3747

web頁面標題的單點處理技巧

目前存在的問題:

一、整個**中aspx頁面標題通常沒有統一的存放位置,針對每個頁面要麼把頁面標題直接硬編碼在頁面的aspx檔案中,要麼通過aspx.cs動態寫進去(1.1中還要加入額外的標題控制項,2.0中可以使用page.title屬性),而整個站點如果網頁很多的話,這種重複邏輯的**就要寫很多次,極其不美觀,並且無法在其它用到標題資訊的地方實現同步。

二、即使為了支援多語言支援把所有的頁面標題都放入資源(或xml)檔案中,通過通一的程式**來載入標題也會存在乙個問題,就是頁面中用到頁面標題的地方可能不僅在標題區如(頁面導航控制項),如何讓這些控制項也從這些資源檔案(或xml)中取得這些標題資訊也是乙個頭痛的問題。

要達到的目的:

一、在整個**中的主模板中一次性解決網頁標題的所有問題,所有**中使用的標題均放在web.sitemap(可支援多語言)中維護,這樣也可以同時同步維護頁面的導航資訊。

二、在彈出窗體的標題中自動為每乙個**標題後面加入站點名稱如(使用者登入|七思軟體),但在頁面導航控制項中引用標題時則不出現這個站點名稱,如(主頁》會員中心》使用者登入)。

三、當aspx.cs的程式中引用page.title屬性時不能有站點名稱如頁面標題欄中顯示的為(使用者登入|七思軟體),但在頁面的正常程式中引用的page.title值為(使用者登入)。

protected void page_load(object sender, eventargs e)

if (sitemap.currentnode != null)

else

}protected override void render(htmltextwriter writer)

解釋:一、之所以不在(!this.ispostback){}塊中實現頁面判斷是因為page.title中無法儲存檢視狀態,我覺得這是.net2.0中的乙個小bug吧。

二、之所以在render方法重寫title屬性是因為在頁面的生存期中,render方法不會儲存viewstate,而從寫page.title內容僅在masterpage中有效是因為masterpage負責頁面標題的render,在其後的page的render方法中,title已經render完畢,些時改變title並不會影響render的結果。

出處:七思軟體 blog

nginx負載均衡單點解決方案

nginx有很強 功能,但是一台nginx就形成了單點,現在使用keepalived來解決這個問題,keepalived的故障轉移時間很短.nginx keepalived雙機實現nginx反向 服務的高可用,一台nginx掛掉之後不影響應用也不影響內網訪問外網。keepalived它是乙個基於vr...

linux shell 浮點解決方案

為了解決bash中數 算的整數限制,本文將介紹如何使用bash內建的計算器,簡稱bc。bash計算器其實是允許我們在命令列輸入浮點表示式 解釋表示式 計算並返回結果的一種程式語言,bash計算器能夠識別 基本格式 variable echo options expression bc 注意 上邊的語...

單點登入解決方案

本文只是簡述單點登入解決方案,系統其他方面均省略 如上圖 系統基本架構 fr與es分為兩個不同的子專案,前端請求均通過訪問fr,由fr通過httpurlconnection訪問es 賦能層 fr主要作用為登入鑑權。大致請求流程如下 1 password md5單向加密成新的password 1 如 ...