首页 新闻 会员 周边

如何将对话框和逻辑分离

0
悬赏园豆:50 [已关闭问题] 关闭于 2010-11-21 19:28

业务逻辑

做订单,如果库存数量不够。提示"库存数量不够,是否继续?",单击"是",继续执行,

对于webform来说,一般这样处理。

protected void Page_Load(object sender, EventArgs e)
    {

处理业务.Attributes.Add( "IsNext", "checkData()" );

    }

protected void 处理业务_Click(object sender, EventArgs e)
    {

  业务.执行(...);
    }

对于winform来说,一般这样处理。

private void 处理业务_Click(object sender, EventArgs e)
    {

if(业务.数据==0 && MessageBox.ShowDialog("是否继续?",....) == Dialog.OK)

{

  业务.执行(...);

}


    }

 

对于这种逻辑,没有办法分离吗?

forhells的主页 forhells | 小虾三级 | 园豆:724
提问于:2010-11-06 19:30
< >
分享
所有回答(1)
0

你要怎么分离, 你的问题里面,中间询问功能是你业务逻辑的一部分。对话框是实现询问功能的。要怎么分离? 要说分离的也只是实现询问功能的具体实现方式(怎么样弹出对话框)。可以通过接口(或者抽象类)来实现。

HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-11-06 21:23
要说分离的也只是实现询问功能的具体实现方式(怎么样弹出对话框)。可以通过接口(或者抽象类)来实现。 这个在WEB这边不好实现吧。
支持(0) 反对(0) forhells | 园豆:724 (小虾三级) | 2010-11-07 11:15
WEB这边,我的思路是,建一个任务列表的缓存, 当遇到这种MessageBox.Show() == '',任务列表缓存,当前的数据和用户ID,以及一个任务当前编号。然后发出一段脚本,显示对话框,结束请求,当选中对话框的相应选项,请求到服务器,取出数据,销毁缓存。根据返回的结果进行下一步处理。 或者简单的处理,就是发回客户端判断,重新请求,然后执行一遍前面执行过的判断。 我发这个问题,想看看有没有更简单的处理。
支持(0) 反对(0) forhells | 园豆:724 (小虾三级) | 2010-11-07 11:46
我觉得是不是有bug,我明明点的是推荐,然后点了人员,怎么变成反对呢?
支持(0) 反对(0) forhells | 园豆:724 (小虾三级) | 2011-05-10 09:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册