我想通过实现ICallbackEventHandler 接口的方法来接收客户端传过来的参数,在服务器端查询数据并重新绑定页面数据,但是我在调试的时候,发现在服务器端是重新绑定了,可以页面的数据没有更新。小弟对这方面认识尚浅,请各位大虾赐教,谢了!
代码如下 #region ICallbackEventHandler 成员实现
/// <summary>
/// ICallbackEventHandler 成员
/// </summary>
private string strCallBackValue = string.Empty;
public string GetCallbackResult()
{
return strCallBackValue;
} public void RaiseCallbackEvent(string eventArgument)
{
strCallBackValue = eventArgument;
//重新绑定页面数据的方法
IniteData();
}
#endregion
代码如下 #region ICallbackEventHandler 成员实现
/// <summary>
/// ICallbackEventHandler 成员
/// </summary>
private string strCallBackValue = string.Empty;
public string GetCallbackResult()
{
return strCallBackValue;
} public void RaiseCallbackEvent(string eventArgument)
{
strCallBackValue = eventArgument;
//重新绑定页面数据的方法
IniteData();
}
#endregion
解决方案 »
- SQL中 select column1+NULL from table1 这是什么意思?
- ===有个服务器的问题,在这里问问吧====
- 想做一个农产品交易的网站,大家给点意见,来者有分啊
- 知道某个Session的SessionID,怎么把这个Session的值Remove掉
- 我输出EXCEL,用application/vnd.ms-excel把整个TABLE输出到EXCEL中,但却有时候会出现乱码,为什么?
- 向各位前辈"取经":
- 兄弟们,帮我看看哟!!谢谢了,不知道那里出问题了!!!
- 在线等 如何配置<authentication mode="Windows " />?
- ArrayList 来对DropDownList的数据绑定不完善的地方,请大家进来看看.
- DropDownList的SelectedIndexChanged事件问题
- 请问谁有AJAX+ASP.NET(C#)做的三级或二级联动下拉框的源码呀?
- 菜鸟 自定义命名空间的方法有点小错误 解释清楚的散50分 大侠帮忙阿
放在这里执行是没效果的。
ICallbackEventHandler当然可以用于数据绑定,示例代码如下: protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
CallbackArgs();
}
} public void RaiseCallbackEvent(string eventArgument) {
this.navigationControl.BindChapters("1");//这里根据传入参数进行数据的绑定
} public string GetCallbackResult() {
return this.navigationControl.RenderControl();//这是用户控件,RenderControl方法返回了控件的InnerWriter(这里是重点,简单的说,返回的就是你要显示的数据控件的HTML)
} private void CallbackArgs() {
this.btn1.Attributes["onclick"] = Page.ClientScript.GetCallbackEventReference(this, "", "GetChapterName", "");//这里将方法GetChapterName绑定到按钮.
}在源中,或者在js文件中加入GetChapterName方法,定义显示数据控件的控件(绕口~,通常是个Label)
<script language="javascript" type="text/javascript">
function GetChapterName(result){
document.getElementById("span1").innerHTML=result;
}
</script>这样就可以实现根据传入参数绑定数据,使用ICallbackEventHandler与使用XMLHttpRequest非常相似,而与用UpdatePanel来实现相比,如果你抓包的话,就可以知道性能提升很明显.我不赞同所有的回调都用UpdatePanel来实现,虽然非常方便和高效(开发用时),但是盲目地使用UpdatePanel,特别是对AJAX没有清楚认识的情况下使用大量的UpdatePanel,将会是非常糟糕的事情.但是如同sp1234说的那样,完全用ICallbackEventHandler开发一个企业项目时将不很可行.
相关资料请到WebCasts观看苏鹏主讲的"ASP.NET快速入门",第十五讲-ASP.NET开发小技巧
this.navigationControl.BindChapters("1");//这里根据传入参数进行数据的绑定
}
public string GetCallbackResult() {
return this.navigationControl.RenderControl();//这是用户控件,RenderControl方法返回了控件的InnerWriter(这里是重点,简单的说,返回的就是你要显示的数据控件的HTML)
}
这里还是有点不理解
能具体的再讲讲吗? 谢谢