我的aspx文件中有以下代码:
var blah = "<%= lblErrorsMain.ClientID %>"
这是外部的js文件:
function ShowShowScans2() {
oWebDialogWindow2 = document.getElementById(blah);
oWebDialogWindow2.set_windowState($IG.DialogWindowState.Normal);
return false;
}
当代码运行时,它总是在oWebDialogWindow2.set_windowState($ IG.DialogWindowState.Normal)中弹出Microsoft JScript运行时错误:无法获取属性'set_windowState'的值:object为null或undefined。 当我闯入代码并将鼠标悬停在oWebDialogWindow2上时,它为空。但是,当我打开一个quickwatch窗口并执行document.getElementById(blah)时,我可以访问该对象。发生了什么事?
答案 0 :(得分:1)
你应该在变量的声明和赋值中使用'document.getElementById'。
如果你在'FormView'中:
var blah = document.getElementById('<%= FormView1.FindControl("lblErrorsMain").ClientID %>');
另一种方式如下:
var blah = document.getElementById('<%= lblErrorsMain.ClientID %>');