大家好,又见面了,我是你们的朋友全栈君。
之前写过一篇文章,通过实现ICallbackEventHandler接口,实现其两个方法。RaiseCallbackEvent实现回调处理,GetCallbackResult实现将处理产生的结果输出到客户端。
为了实现页面不刷新,我们在GetCallbackResult方法中可以将前台的控件html通过RenderControl方法获取,并Return到客户端
ICallbackEventHandler 成员
#region ICallbackEventHandler 成员
private string g_CallBackResult = string.Empty;
public string GetCallbackResult()
{
//前台的控件均放在一个Panel控件当中,只需要获取该Panel的Html代码
Panel _panTask = FindControl(“panTask“) as Panel;
System.IO.StringWriter sw = new System.IO.StringWriter();
HtmlTextWriter hWriter = new HtmlTextWriter(sw);
_panTask.RenderControl(hWriter);
hWriter.Flush();
hWriter.Close();//关闭掉HtmlTextWriter
g_CallBackResult = sw.ToString();
return g_CallBackResult;//在前台获取该字符串
}
public void RaiseCallbackEvent(string eventArgument)
{
if (!string.IsNullOrEmpty(eventArgument))
{
DLTBind();
}
}
#endregion
客户端代码:
//
预定每分钟自动刷新当前数据,CallTaskServer方法是在Page_Load时Register进来的js
window.setInterval(
“
CallTaskServer(‘0’,”)
“
,
60000
);
//
这里的rValue便是GetCallbackResult方法的ReturnValue
function
ReceiveTaskServerData(rValue)
{
var objDiv = document.getElementById(‘<%=panTask.ClientID %>‘);
objDiv.innerHTML = rValue;
}
转载于:https://www.cnblogs.com/jerryshi/archive/2008/07/28/1254711.html
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162051.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...