Asp.net 如何在更新面板中写入response.write

Asp.net 如何在更新面板中写入response.write,asp.net,Asp.net,我正在从Homescroll.ascx调用Homescroll.ascx.cs中的函数 所以我在Homescroll.ascx上写了 但所有这些都在更新面板中,我得到了错误。 还有其他方法可以从homescroll.ascx调用函数到homescroll.ascx.cs,而不是response.write 如何使用语法-?如何使用语法-?需要更多信息,但我假设scroll只是一个客户端函数,您应该使用如下脚本管理器: ScriptManager.RegisterClientScriptBloc

我正在从Homescroll.ascx调用Homescroll.ascx.cs中的函数

所以我在Homescroll.ascx上写了

但所有这些都在更新面板中,我得到了错误。
还有其他方法可以从homescroll.ascx调用函数到homescroll.ascx.cs,而不是response.write

如何使用语法-?

如何使用语法-?

需要更多信息,但我假设scroll只是一个客户端函数,您应该使用如下脚本管理器:

ScriptManager.RegisterClientScriptBlock(this,typeof(Page),"scrollScript","scroll();",true);

有关更多信息,请参阅。如果你没有;我不想从后面的代码中调用它,根本不需要或respoose.write。只需将其包装在一个脚本标记中,类型设置为text/javascript。

需要更多信息,但我假设scroll只是一个客户端函数,您应该使用如下脚本管理器:

ScriptManager.RegisterClientScriptBlock(this,typeof(Page),"scrollScript","scroll();",true);
有关更多信息,请参阅。如果你没有;我不想从后面的代码中调用它,根本不需要或respoose.write。只需将其包装在一个脚本标记中,类型设置为text/javascript。

将在UpdatePanel中工作,但不会

与流行的观点相反,显示表达式并不完全意味着响应。写吧,不像asp经典中那样。它们都在渲染阶段执行。不同之处在于,显示表达式写入传递给渲染函数的对象,而不是直接传递给响应对象。正常情况下,这没有任何区别。除了在使用UpdatePanel时,它需要捕获ContentTemplate的输出,以便能够以其特殊格式对输出进行编码。如果您直接调用Response.Write,您将绕过UpdatePanel执行的编码,并将响应弄乱,从而无法在客户端对其进行解析

执行此操作时发生的错误非常有用:

Sys.WebForms.PageRequestManagerParserErrorException: 从服务器接收的消息 无法分析。常见原因 此错误是在响应为 通过调用Response.Write进行修改, 响应过滤器、HttpModules或 已启用服务器跟踪

UpdatePanel的作者在他的博客上。

将在UpdatePanel中工作,但不会

与流行的观点相反,显示表达式并不完全意味着响应。写吧,不像asp经典中那样。它们都在渲染阶段执行。不同之处在于,显示表达式写入传递给渲染函数的对象,而不是直接传递给响应对象。正常情况下,这没有任何区别。除了在使用UpdatePanel时,它需要捕获ContentTemplate的输出,以便能够以其特殊格式对输出进行编码。如果您直接调用Response.Write,您将绕过UpdatePanel执行的编码,并将响应弄乱,从而无法在客户端对其进行解析

执行此操作时发生的错误非常有用:

Sys.WebForms.PageRequestManagerParserErrorException: 从服务器接收的消息 无法分析。常见原因 此错误是在响应为 通过调用Response.Write进行修改, 响应过滤器、HttpModules或 已启用服务器跟踪


UpdatePanel的作者在他的博客上。

Reponse.Write在UpdatePanel中中断了输出,我在博客中介绍了一种可能的解决方案:
希望它能在将来帮助其他人,尽管这有点离题,因为其他解决方案取消了对响应进行写入的要求。

Reponse.write会在UpdatePanel中中断输出,我在这里写了一个可能的解决方案:
希望它能在将来帮助其他人,尽管这有点离题,因为其他解决方案消除了写入响应的要求。

对于这个问题,我使用的一个简单解决方案是调用jQuery函数并附加HTML,而不是调用Response.write。例如,假设我想更新UpdatePanel中的一些HTML文本并更改其文本,我会这样做:

ScriptManager.RegisterClientScriptBlock(this,typeof(Page),"scrollScript","scroll();",true);
使用Response.Write,它将简单如下:

Response.Write("[TextToBeAddedToHTML]");
但是使用jQuery有点复杂,您必须将jQuery库包含到HTML页面中:

ScriptManager.RegisterStartupScript(this, GetType(), "TextUpdate", "$(\"#[ID_OF_HTML_Element]\").append(\"<p>" + [TextToBeAddedToHTML] + "</p>\");", true);

我使用的这个问题的一个简单解决方案是调用jQuery函数并附加HTML,而不是调用Response.Write。例如,假设我想更新UpdatePanel中的一些HTML文本并更改其文本,我会这样做:

ScriptManager.RegisterClientScriptBlock(this,typeof(Page),"scrollScript","scroll();",true);
使用Response.Write,它将简单如下:

Response.Write("[TextToBeAddedToHTML]");
但是使用jQuery有点复杂,您必须将jQuery库包含到HTML页面中:

ScriptManager.RegisterStartupScript(this, GetType(), "TextUpdate", "$(\"#[ID_OF_HTML_Element]\").append(\"<p>" + [TextToBeAddedToHTML] + "</p>\");", true);
scroll方法的可见性是什么,异常文本是什么?或者更好的方法是,您可以向我们展示堆栈跟踪吗?scroll方法的可见性是什么,异常文本是什么?或者更好的是,你能给我们看看堆栈跟踪吗?