此事例是从数据库Area表中根据AreaID,无刷新地显示Area。

前台页面显示:btnShowArea的单击事件中调用了GetArea(txtAreaID,lblArea),第一个参数是填写省份ID的TextBox,第二参数是显示省份的Label,两个都是控件。在客户端方法GetArea(areaID,context) 中,先取得txtAreaID内的值赋给areaid,再使用       <%= Page.ClientScript.GetCallbackEventReference(this, "areaid", "Show", "context") %>;调用回调方法,这里面有个参数Show,是一个客户端方法,此方法的第一个参数是字符串,第二个是控件,实现将字符串显示在控件上。

>

后台代码:声明了一个局部变量Area,用来保存回调返回的值,实现ICallbackEventHandler
接口有两个方法,RaiseCallbackEvent(string eventArgument)为此变量赋值,这里从数据库中找出AreaID对应的Area,赋给Area,而GetCallbackResult()就将此值返回,两个方法,一个实现了回调的方法,另一个返回了回调的结果。

ICallbackEventHandler的例子using System;
ICallbackEventHandler的例子
using System.Data;
ICallbackEventHandler的例子
using System.Configuration;
ICallbackEventHandler的例子
using System.Collections;
ICallbackEventHandler的例子
using System.Web;
ICallbackEventHandler的例子
using System.Web.Security;
ICallbackEventHandler的例子
using System.Web.UI;
ICallbackEventHandler的例子
using System.Web.UI.WebControls;
ICallbackEventHandler的例子
using System.Web.UI.WebControls.WebParts;
ICallbackEventHandler的例子
using System.Web.UI.HtmlControls;
ICallbackEventHandler的例子
ICallbackEventHandler的例子
public partial class Test_Callback : System.Web.UI.Page, ICallbackEventHandler
}

在做此实例中有几点注意:
1、我原先使用Literal代替Label显示返回的Area,结果不行,这是因为Literal生成的HTML纯粹是字符,而Label生成的HTML则是<span />
看看这个加粗的部分,这是运行后查看源代码查到的,Join1是用户控件名,TextBoxName是用户控件中的名字,这里要注意不能直接用TextBoxName,可以运行后通过查看源代码查到,有经验的可以自己猜出控件名来。

相关文章:

  • 2022-12-23
  • 2021-06-19
  • 2021-12-07
  • 2022-02-03
  • 2022-12-23
  • 2021-05-16
  • 2021-09-06
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-16
相关资源
相似解决方案