外部JS文件没有找到控件,但使用quickwatch

时间:2012-02-29 20:15:56

标签: javascript asp.net

我的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)时,我可以访问该对象。发生了什么事?

1 个答案:

答案 0 :(得分:1)

你应该在变量的声明和赋值中使用'document.getElementById'。

如果你在'FormView'中:

var blah = document.getElementById('<%= FormView1.FindControl("lblErrorsMain").ClientID %>');

另一种方式如下:

var blah = document.getElementById('<%= lblErrorsMain.ClientID %>');