讓我們清楚,我不太喜歡WebForms。這就是爲什麼我不想花幾個小時來調試在一臺服務器(IIS7)和一臺新服務器(IIS8)上運行良好的遺留代碼庫。Web窗體ClientIDMode默認在IIS8中更改 - 如何恢復到舊的aspnetForm?
我聽說有這個新的ClientIDMode
,它使表單和其他控件改變他們的ID或不明智,但我沒有碰它。它看起來像默認值已經改變(即不是向後兼容)?
我曾在一個母版頁的形式,看起來像<form id=SiteForm runat=server
這在渲染輸出自動改變其ID來aspnetForm
。
確定它有點奇怪,但我在這個應用程序中有很多代碼依賴於它。我可以簡單地將服務器頁面中的ID更改爲<form id=SiteForm runat=aspnetForm
,這可能會修復它。但也許這個舊項目中有一些代碼在服務器端使用SiteForm
,所以我可以搜索它。
但是也可能有其他控件潛伏在附近,其ID也發生了變化。所以也許有一些我可以添加到網絡配置,以恢復到以前的行爲?之前的默認設置是什麼?
更新:看起來像導出和導入應用程序池時,這個網站莫名其妙地從.NET2更改爲.NET4,所以也許我只需要將其設置回.NET2?
您是否嘗試在您的web.config文件中添加''?屬性'clientIDMode'定義了ID的生成方式。 –
我沒有真正嘗試過,因爲在進行調試之前,我需要一些建議。但這可能會奏效。 –