RenderControl获取控件输出的HTML

发布时间:2025-12-09 13:44:26 浏览次数:4

之前写过一篇文章,通过实现ICallbackEventHandler接口,实现其两个方法。RaiseCallbackEvent实现回调处理,GetCallbackResult实现将处理产生的结果输出到客户端。

为了实现页面不刷新,我们在GetCallbackResult方法中可以将前台的控件html通过RenderControl方法获取,并Return到客户端




ICallbackEventHandler成员
#regionICallbackEventHandler成员

privatestringg_CallBackResult=string.Empty;
publicstringGetCallbackResult()
{

//前台的控件均放在一个Panel控件当中,只需要获取该Panel的Html代码
Panel_panTask=FindControl(“panTask“)asPanel;
System.IO.StringWritersw=newSystem.IO.StringWriter();
HtmlTextWriterhWriter=newHtmlTextWriter(sw);
_panTask.RenderControl(hWriter);
hWriter.Flush();
hWriter.Close();//关闭掉HtmlTextWriter

g_CallBackResult=sw.ToString();

returng_CallBackResult;//在前台获取该字符串
}

publicvoidRaiseCallbackEvent(stringeventArgument)
{

if(!string.IsNullOrEmpty(eventArgument))
{

DLTBind();
}

}

#endregion

客户端代码:



//
预定每分钟自动刷新当前数据,CallTaskServer方法是在Page_Load时Register进来的js


window.setInterval(

CallTaskServer(‘0’,”)

,
60000
);


//
这里的rValue便是GetCallbackResult方法的ReturnValue



function
ReceiveTaskServerData(rValue)


{

varobjDiv=document.getElementById(‘<%=panTask.ClientID%>‘);
objDiv.innerHTML=rValue;
}

转载于:https://www.cnblogs.com/jerryshi/archive/2008/07/28/1254711.html

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477