Asp.net中與codePage=”936″有關的css失效等奇怪問題的解決辦法(原創)

來源:互聯網
上載者:User

        最近手頭有個簡單的項目,比平時寫的要簡單很多,但是卻很不順利,出現了好多奇怪的問題, 比如今天就遇到一個奇怪的問題,這裡我講一下解決全過程.
        客戶要求,在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,這就奇怪了,怎麼會選不中第二項呢?
        於是我把以前寫的正常頁面用記事本開啟,來對比一下兩個頁面有什麼區別,發現了有問題的頁面頂部有一句話可疑:

        <%@ Page language="c#" Codebehind="BookInfo.Aspx.cs" AutoEventWireup="false" Inherits="WebS.BookInfo" codePage="936"%>

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

<%@ codepage=936%>簡體中文
<%@ codepage=950%>繁體中文
<%@ codepage=65001%>UTF-8

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.