天天看點

Asp.net 關于重新整理後字型樣式消失問題

其實标題無法完全把我想說的問題表達出來,但是也包含了其中的一點。下面有2種情況下會出現重新整理後字型樣式消失的問題。

第一種情況,問題是這樣的:一個登入界面,我為字型設計了樣式,當然是在樣式表裡寫的,在一開始加載此頁的時候一切都是正常的,但是當我點選Login的時候,當然這時候會有個驗證,當使用者名或密碼不對的時候,會彈出一個提示框進行提示。

問題就出在當我點選完提示框上的确定以後,再看到的頁面已經沒有了字型樣式。

解決方法:我最初提示框寫的代碼是這樣的

1

<code>Response.Write(</code><code>"&lt;script&gt;alert('使用者名或密碼錯誤,登入失敗 !');&lt;/script&gt;"</code><code>);</code>

後來我改寫成了

<code>this</code><code>.RegisterStartupScript(</code><code>"j1"</code><code>, </code><code>"&lt;script&gt;alert('使用者名或密碼錯誤,登入失敗 !');&lt;/script&gt;"</code><code>);</code>

運作一下,效果是一樣的,但是字型樣式不會消失。

第二種情況,當我點選下拉菜單時,字型樣式又再次消失。這裡DropdownList控件的AutoPostBack屬性必須是True的情況下,因為隻有這樣設定的時候,都會啟動激活事件,點選之後才會進行重新整理。

這兩種情況導緻的問題出現,仔細觀察不難看出都是由于頁面重新整理的緣故,為什麼呢?從第一種情況兩個函數稍稍能看出點什麼。

Response.Write:使用輸出流在頁面輸出項。

RegisterStartupScript:注冊啟動腳本,頁面onload時觸發。

上面那個調用時頁面進行了重新整理,下面那個是在頁面加載的時候就已經注冊,也就是說調用後不會再進行重新整理。

最後我想到的解決辦法是可以用ajax去做,雖然用ajax問題能被解決,但是要知道,為了一個字型樣式,就去使用ajax我覺得不太值。

不知道有沒有别的辦法解決這樣的類似問題,希望知道的朋友能給出一些點子。

本文轉自 我不會抽煙 51CTO部落格,原文連結:http://blog.51cto.com/zhouhongyu1989/1320783,如需轉載請自行聯系原作者

繼續閱讀