Javascript &引用;“预期对象”;调用RegisterStartupScript时出错
这有点奇怪 我有以下情况: 包含用户控件的页面-用于弹出窗口。这个用户控件有一个占位符,所以我可以动态加载这个弹出窗口中的任何用户控件。这非常有效——而且都在ajax UpdatePanel内部 在一个动态加载的UserControl中,我声明了一个jscript,如下所示:Javascript &引用;“预期对象”;调用RegisterStartupScript时出错,javascript,asp.net,ajax,updatepanel,Javascript,Asp.net,Ajax,Updatepanel,这有点奇怪 我有以下情况: 包含用户控件的页面-用于弹出窗口。这个用户控件有一个占位符,所以我可以动态加载这个弹出窗口中的任何用户控件。这非常有效——而且都在ajax UpdatePanel内部 在一个动态加载的UserControl中,我声明了一个jscript,如下所示: <script type="text/javascript"> function setup(){ alert("test"); } </script> 我在那里抛出Guid的原因是,如果
<script type="text/javascript">
function setup(){
alert("test");
}
</script>
我在那里抛出Guid的原因是,如果我多次调用该方法,它就不会给我带来麻烦
现在,这个方法连接到一个按钮上。这在firefox中非常有效。但在IE8中,它给了我一个js错误:
第197910701行字符1上的“预期对象”
所以我甚至无法调试它,因为很明显,这行代码不存在-有什么想法吗?我只是得到了同样的错误,希望在这里找到答案。经过更多的调查,问题(对我来说)很简单。。。我试图在服务器生成的“”标记中调用的javascript函数不存在(未键入)。我假设您已经解决了这个问题,因为它已经两个月了,但是如果其他人偶然发现这个问题,它可能会很有用。另一个原因可能是函数是在结束标记之后定义的。
为了使RegisterStartupScript正常工作(并找到javascript函数),函数必须在表单标记之前或其内部定义,但不能在结束标记之后定义(否则会发生对象预期的错误)。我实际上完全放弃了asp.net以用于MVC3。不只是因为这个:)但很高兴你能回答
ScriptManager.RegisterStartupScript(this, this.GetType(), "setup" + Guid.NewGuid().ToString(), "setup();", true);