代码改变世界

利用事件执行顺序,轻松实现Web页面的对话框

2010-12-13 10:00  月光下的凤尾族  阅读(495)  评论(0编辑  收藏  举报

    一般在做C/S应用的时候,我们都会发现,对话框太容易实现了。比如在编辑主子表这样的常用操作下,弹出一个对话框,用户录入数据,保存并关闭对话框,主界面刷新,子表的列表更新。比如我们可能会写这样的代码:

 

 

private void btnNew_Click(object sender, EventArgs e)
{
    FormPersonEdit formPersonEdit = new FormPersonEdit();
    if (formPersonEdit.ShowDialog() == DialogResult.Ok)
    {
        PersonEntity person = formPersonEdit.GetPerson();
        ... 
    }
}

 

 

    这样的交互操作体验是很不错的。那么,如果使用Web来开发,有没有简单的方法实现类似的做法呢?实际上有多种方式来做对话框,这里先挑最简单的一种,就是直接用ShowModalDialog方法来实现。

    Asp.net页面里,首先是要执行客户端事件的,然后才会产生服务端事件。利用这一点,就有了操作余地,具体做法如下:

    1.增加一个Button按钮,实现它的两个事件,一个是OnClientClick,一个是OnClick。

    2.在OnClientClick里,打开一个模式对话框,做FormPersonEdit的操作,做完后把数据写入后台或者写入Session都成。

    3.在FormPersonEdit页面关闭后,Button的OnClick事件才会被触发,这个时候,再从后台或者Session里取数据,刷新主页面的列表,就成了,当然也可以用Ajax技要无刷新。实现出来的效果,和WinForm的几乎一致。

 

欢迎转载,转载请注明出处及署名:月光下的凤尾族:http://www.cnblogs.com/demo/ 欢迎关注博主 谢谢