asp.net回调更新gridview
以前写过关于回调的代码,今天想用的时候又找不到了,费了好大劲才搞定,纪录一下,以备后用。
其实比较简单,关键是最后一行调用的函数renderGrid(_grid)。
public string sCallBackFunctionInvocation;
string returnstring;
protected void Page_Load(object sender, EventArgs e)
{
sCallBackFunctionInvocation = Page.ClientScript.GetCallbackEventReference(this, "message", "processMyResult", "context", "postMyError", true);
}
#region ICallbackEventHandler Members
string ICallbackEventHandler.GetCallbackResult()
{
return returnstring;
}
void ICallbackEventHandler.RaiseCallbackEvent(string eventArgument)
{
if (eventArgument == "getservertime")
{
//returnstring = DateTime.Now.ToString();
_grid.DataSource = _sampleData;
_grid.DataBind();
renderGrid(_grid);
}
}
利用ASP.NET中最为强大的特性 - RenderControl。该方法能使我们方便地在服务器端 通过HtmlTextWriter和StirngWriter对象访问到控件的HTML代码。
private void renderGrid(GridView _grid)
{
using ( StringWriter sw = new StringWriter())
{
HtmlTextWriter htw = new HtmlTextWriter(sw);
_grid.RenderControl(htw);
htw.Flush();
returnstring = sw.ToString();
}
}
前台响应函数是:
function processMyResult(returnmessage, context){
window.document.getElementById('Gridview').innerHTML = returnmessage;
}
这样就实现了通过回调函数局部更新gridview。
相关文档:
首先在应用程序的WEB.CONFIG修改如下节点。
<httpHandlers>
<add verb="*" path="*.html" type="System.Web.UI.PageHandlerFactory"/>
</httpHandlers>
<assemblies>
<buildProviders>
<add ext ......
概述
在开发Silverlight应用程序时,我们经常会遇到这样一种情况,需要在Silverlight应用程序的UserControl中获取ASP.NET页面参数,这个参数不一定来自于当前Silverlight应用程序的宿主页面,而有可能来自于其它的ASP.NET页面。
本文我们简单的介绍一下如何在Silverlight应用程序中获取ASP.NET页面参数。
需求
如下面的 ......
本文翻译自:Mixing Forms and Windows Security in ASP.NET
摘要:ASP.NET开发人员曾经问到过如何使用Forms和Windows混合验证。Paul Wilson提供了一个解决方案来获得Windows用户名,或者,将用户转向登录页面。
简介
我曾经遇到很多ASP.NET开发人员问到如何使用Forms和Windows混合验证。通常的回答是:“ASP.NET不 ......
DBHelper:
/// <summary>
/// 执行查询
/// </summary>
/// <param name="sql">有效的select语句</param ......