您的位置:首页 > 运维架构

Ajax ModelPopupExtender 如何触发服务器端事件

2009-08-10 14:46 357 查看
触发服务端事件,看上去很简单,直接写事件即可。但是实际上并不是那么简单,在用AJAX,开发时,发现只要ModelPopupExtender中TargetControlID关联“提交”按钮的Id,之后。然后在运行界面时,点击“提交”按钮是不会触发Button的OnClick事件的。这是为什么?
通过查资料发现,原来ajax server control render一个有异步通信功能的代码,并没有在触发这个事件的按钮更改任何的代码,还是原来的__doPostBack('','')回发方式。ajax core part 会托管这个__doPostBack。而对于ajax control toolkit,则是在初始化whole client page时执行一段代码然后动态的给绑定的控件加入触发的代码。所以你也看不到例如一个LinkButton触发事件的变化。(Indexed from /article/4712204.html

解决方法:

Title protected void Page_Load(object sender, EventArgs e)
{
if (Session["UserName"] == null)
{
Response.Redirect("~/LoginPage.aspx");
}
else
{
Btn_ModalOk.OnClientClick = "__doPostBack('" + this.Btn_ModalOk.UniqueID + "','')";//ModelPopupExtender触发服务器端事件
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: