ClientEventTrigger 控件用的人少。今天要用到,才去研究,要赶快写下,怕以后忘记了。哈哈
ClientEventTrigger 作用 触发前台事件调用后台方法,比如(下拉框的 onchange 事件)
首先,在前台有如下语句
<
ajax:AjaxPanel runat
=
"
server
"
ID
=
"
AjaxPanel1
"
>
< ajax:ClientEventTrigger ID = " ClientEventTrigger1 " runat = " server " ControlID = " 关联控件ID " EventName = " 事件名 " OnInvoke = " 后台事件处理程序名 " />
</ ajax:AjaxPanel >
< ajax:ClientEventTrigger ID = " ClientEventTrigger1 " runat = " server " ControlID = " 关联控件ID " EventName = " 事件名 " OnInvoke = " 后台事件处理程序名 " />
</ ajax:AjaxPanel >
ControlID 是要触发前台事件的控件ID(比如 下面的 Label1)
EventName 是该前台事件名(比如 下面的Label 是 click,如果是 onchange 就是 change,去掉 on 就是)
OnInvoke 是触发 ControlID 的 EventName 时要执行的后台事件处理程序
然后,在随便拉个服务器控件(HTML 控件转换成 服务器控件 好像不行)
<
asp:Label runat
=
"
server
"
ID
=
"
Label1
"
>
点我啊
</
asp:Label
>
Label 放不放 ajaxPanel 里无所谓,但上面的 ClientEventTrigger 一定要方 ajaxPanel 里
最后,在后台写上触发后要执行的方法(也可以在 设计器的属性框里设置)
protected
void
Test(
object
sender, EventArgs e)
... {
Response.Write("执行了后台方法!");
}
... {
Response.Write("执行了后台方法!");
}
好 完成了!
可惜不能将前台的参数传递到后台(至少我不会,会的留言啊),我的项目里用不了,只好另寻它方。。