从代码隐藏执行jQuery时避免“Sys.WebForms.PageRequestManagerParserException”

时间:2011-10-13 08:51:27

标签: jquery asp.net asp.net-2.0

我正在使用母版页并在HEAD部分添加了jQuery脚本引用。从内容表单中,每当我尝试执行Response.Write时,我经常会收到此错误:

Sys.WebForms.PageRequestManagerParserException

虽然我找到了解决代码其他部分问题的方法,但是当我必须从代​​码隐藏的.cs文件中解雇jQuery代码时,我仍然在苦苦挣扎。

我正在使用这种方式:

Response.Write("<script type='text/javascript' language='javascript'>$(function(){$('#dialog:ui-dialog').dialog()};</script>");

有没有办法绕过这个讨厌的错误并使用Response.Write?

1 个答案:

答案 0 :(得分:1)

Response.Write()用于输出JavaScript 可以工作,但它有点笨拙,容易产生意想不到的后果!

Response.Write()的下一步将使用Literal控件作为占位符,并将其Text属性设置为JavaScript字符串。

“更好”的方法是使用ClientScriptManager类的RegisterClientScriptBlock()方法(或RegisterStartupScript())。它使用简单,并确保您的脚本对包含的页面“可见”,而不会与任何.NET怪癖冲突。