无法获取未定义或空引用的属性X.

时间:2015-12-15 21:51:24

标签: javascript asp.net

将asp.net Web表单应用程序从2.0框架升级到4.0框架后,在javascript中显示如下所示的引用

document.RF_Login.hidSubmit.value="Yes";

导致以下错误:

javascript error

为什么升级到4.0框架时会出现这种情况?有什么我可以做的就是不必在整个网站上更新这样的所有引用吗?

修改

页面名称为RF_Login.aspx,页面内部存在以下内容:

<FORM id="RF_Login" method="post" runat="server">

1 个答案:

答案 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" />