将asp.net Web表单应用程序从2.0框架升级到4.0框架后,在javascript中显示如下所示的引用
document.RF_Login.hidSubmit.value="Yes";
导致以下错误:
为什么升级到4.0框架时会出现这种情况?有什么我可以做的就是不必在整个网站上更新这样的所有引用吗?
页面名称为RF_Login.aspx,页面内部存在以下内容:
<FORM id="RF_Login" method="post" runat="server">
答案 0 :(得分:1)
我认为问题是由于.NET 2.0使用AutoID来生成.NET控件ID。然而,.NET 4.0+使用可预测的clientId模式。
取自:.NET Framework 4 Migration Issues
ASP.NET 4中的新clientIDMode设置允许您指定ASP.NET的方式 生成HTML元素的id属性。在之前的版本中 ASP.NET,默认行为相当于AutoID设置 的ClientIDMode。默认设置现在是可预测的。
分辨率:
要禁用新的客户端ID模式,请将以下设置添加到 Web.config文件:
<pages clientIDMode="AutoID" />
或
<pages controlRenderingCompatibilityVersion="3.5" />
或两者结合:
<pages clientIDMode="AutoID" controlRenderingCompatibilityVersion="3.5" />