我有以下内容:
目前,在更新面板中发生回发时,StatusDisplay会显示“正在更新请求..”以及最后的例外情况。
我还希望发送特定的状态更新,例如此StatusDisplay应显示的不同位置的“已添加客户”。目前,不知道其他控件中是否存在StatusDisplay,我希望保持这种状态。
怎么做?
答案 0 :(得分:1)
使用一种名为reverse ajax的技术。反向Ajax允许服务器在内容可用时立即将内容推送到浏览器,这通常由IFrame,响应刷新和用于处理回调的常用javascript函数的组合实现
easy incremental status updates for long requests是关于此主题的精彩文章。
此处的示例实现依赖于假设其创建和刷新到客户端的javascript已经附加到父窗口对象的javascript回调函数“UpdateProgress”(因为调用是在IFrame中进行的)。由于任务长时间运行,代码执行刷新到客户端并执行执行任何操作的javascript函数。
protected void UpdateProgress(int PercentComplete, string Message)
{
// Write out the parent script callback.
Response.Write(String.Format(
"<script>parent.UpdateProgress({0}, '{1}');</script>",
PercentComplete, Message));
// To be sure the response isn't buffered on the server.
Response.Flush();
}