Asp.net 控制項ClientID,UniqueID命名規則問題

來源:互聯網
上載者:User
我寫了一個aspx頁面,放一個GridView,GridView中添加一個模板列,其中放入一個LinkButton,顯示資料

現在的問題是

1)本地開發機器上
產生的該LinkButton的ID,Name分別是

ID: GridView1_ctl02 _lbtnSel
Name: GridView1$ctl02$ lbtnSel

2)部署伺服器上
產生的該LinkButton的ID,Name分別是

ID: GridView1__ctl2 _lbtnSel
Name: GridView1$_ctl2 $lbtnSel

經過比較,本地機器上產生的ID和Name都正常,ClientID使用一個底線_分隔,UniqueID用一個$分隔,其中 ctl02 表示GridView第二行
但伺服器上產生的ID和Name就有點不對了,雖然ClientID還是用一個底線_分隔,UniqueID用一個$分隔,但其中GridView第二行的表示方式有明顯的不同,它是 _ctl2

伺服器上將02改成了2,並且用底線開頭表示

這是為什嗎?這個問題導致了頁面的部分JS代碼不能正常運行了,因為連ID和Name的規則都發生了變化,一直找不到原因,請教大家,謝謝。

運行環境 .net 版本2.0.50727,Win2003

 

解決辦法:

在web.config 中,去掉 <xhtmlConformance   mode= "legacy“/>  屬性

 

詳見頁面http://www.microsoft.com/china/msdn/library/webservices/asp.net/ASPNETusStan.mspx 
為了滿足每個人的要求,Microsoft   建立了一個名為   xhtmlConformance   的新配置選項,您可以在   Web   網站的設定檔中設定該選項。新的配置選項使您能夠指定   Web   頁的   XHTML   一致性的層級。它的內容如下所示。 

<configuration>   
<system.web>   
        <xhtmlConformance     
                mode= "transitional "   />   
</system.web>   
</configuration> 

預設情況下,xhtmlConformance   設定為值   transitional。但是,還可以將該選項設定為值   strict   或   legacy。   

如果將   xhtmlConformance   選項設定為   strict,那麼標準的   ASP.NET   控制項將不會再呈現某些屬性。例如,ASP.NET   <form>   控制項將不再呈現   name   屬性。除非   ASP.NET   頁包含(不符合標準的)用戶端指令碼,否則從   transitional   模式切換到   strict   模式時,不會注意到任何變化。   

如果將   xhtmlConformance   選項設定為   legacy,那麼對於某些元素和屬性(但不是全部),ASP.NET   架構將恢複為   ASP.NET   1.1   呈現行為。在這種情況下,ASP.NET   架構將呈現不與任何   XHTML   標準相容的內容,並且頁將不再通過   XHTML   標準驗證。例如,在   legacy   模式下,呈現   <br>   標記時不會呈現它需要的   XHTML   結束斜杠   ( <br   /> )。只有在將現有   ASP.NET   1.1   應用程式遷移到   ASP.NET   2.0   的過程中遇到問題時,將   xhtmlConformance   設定為   legacy   模式才是有意義的。 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.