2022年9月7日 星期三

asp.net 2.0 升級4.0 問題1 元件名稱

 近日公司想要將asp.net 2.0的網站升級至 asp.net 4.0 

需要評估網站升級需要的OS & Framework  的等級 

就目前微軟在2022年公佈的 .NET Framework 各版本發行及 EOS 時間清單

的資料看來,應該可以升級到到asp.net 4.5之間,

但我們遇到的第一個問題就是

asp.net2.0 轉出的元件id  [ctl00_ContentPlaceHolder1_PanelParent]

asp.net 4.0 轉出的元件id為  [PanelParent]

Wath?

原來是因為 ASP.NET 4.0 預設的 clientIDMode 是使用 Predictable


而ASP.NET 4.0 以前的版本 clientIDMode 都是使用 AutoID

 

處理的方法就是在web.config 中設定

<system.web>
<pages controlRenderingCompatibilityVersion="4.5" clientIDMode="AutoID">
</system.web>


暫時收工……

參考:

https://www.dotnetcurry.com/ShowArticle.aspx?ID=492 介紹 ClientIDMode 的用法

https://blog.darkthread.net/blog/net-4x-eos-issue/ 其他

https://dotblogs.com.tw/rainmaker/2014/09/15/146557 -為什麼我的控制項的 id 多了ctl00



來看

沒有留言:

張貼留言