我正在将旧版ASP.Net网站(Web窗体)从.NET 3.5升级到.NET 4.5。我最近注意到,升级后,一些ASP.Net控件在HTML中从ctl00_Content_dropDown1
重命名为ctl00$Content$dropDown1
,破坏了很多客户端JavaScript。
如何在升级后阻止此更改?
答案 0 :(得分:1)
docs.Microsoft.com说,从.NET 3.5迁移到.NET 4.0(或更高版本)会导致这一重大变化,从而改变了元素的id
属性的生成方式。
在web.config文件中,更改<pages>
元素,向其添加clientIDMode
属性,如下所示:
<pages clientIDMode="AutoID" ...
这应该像以前一样继续制作ID。
除了AutoID
,MSDN还列出了其他几个有用的选项:
从.NET 3.5升级到.NET 4.5时,Visual Studio应该将ClientIDMode
设置为AutoID
,但是当您没有ASP.Net时,我认为它不起作用Web Project(.csproj),而您拥有的只是一个ASP.NET网站。