Asp.net中與codePage="936"有關的css失效等奇怪問題的解決辦法

tingantang發表於2007-11-01
Asp.net中與codePage="936"有關的css失效等奇怪問題的解決辦法
時間:2007-05-03 閱讀:80 型別:轉載 編輯:陳姐
[@more@]最近手頭有個簡單的專案,比平時寫的要簡單很多,但是卻很不順利,出現了好多奇怪的問題, 比如今天就遇到一個奇怪的問題,這裡我講一下解決全過程.
客戶要求,在DropDownList中選擇第二項時,有一個TextBox要不可用,本來這種問題是很簡單的,將DropDownList的AutoPostBack屬性設定為"True",然後在DropDownList的SelectedIndexChanged事件裡寫一下程式碼:

if(ddlFrame.SelectedIndex == 0) //如果選中的是第一項
{
txtFrameID.Enabled = true;
}
else
{
txtFrameID.Text = "";
txtFrameID.Enabled = false;
}

如果是平時,這樣子就解決問題了,可是今天就出現奇怪的問題,無論我怎麼選擇DropDownList,它都在重新整理後選中第一項,怎麼也選不中第二項,我一開始以為是DropDownList的EnableViewState屬性被我設成false了,結果發現該屬性值為true,這就奇怪了,怎麼會選不中第二項呢?
於是我把以前寫的正常頁面用記事本開啟,來對比一下兩個頁面有什麼區別,發現了有問題的頁面頂部有一句話可疑:

codePage="936"%>

大家一定發現了,在最後有一句:codePage="936",這是什麼東西?查了一下資料,找到了這個結論:

簡體中文
繁體中文
UTF-8

原來codePage="936"表示的是簡體中文,於是我將它刪除,發現DropDownList就能選中第二項了,,可是新問題又出來了:css好像失效了,頁面變得很亂.於是我切換到VS2003,在頁面屬性中,將頁面的字符集設定為GB2312,儲存後發現頁面又正常了,然後那個下拉選單又怎麼選都停在第一項上,我突然想起來,web.config檔案裡也有個語言設定的,於是我將
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
這兩個都設定成了gb2312,儲存後,發現頁面正常了,下拉選單也能選中第二項了,問題解決了,哈哈!開心!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10771986/viewspace-980388/,如需轉載,請註明出處,否則將追究法律責任。

相關文章