系统采用三层架构(数据访问层,业务层,表示层),页面使用GridView,DetailView+objectDataSource显示、编辑和删除业务对象。
  删除业务对象时进行删除校验,所以我在objectDataSource中使用Deleting事件进行删除校验。请问校验不通过时如何使objectDataSource的DeleteMethod不执行。

解决方案 »

  1.   

    http://topic.csdn.net/u/20090607/13/15a05211-c45c-4ebf-b9a1-ff0c30cc49d7.html代码。http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.objectdatasource.deleting(VS.80).aspx原理,msdn,你的好朋友。
      

  2.   

    如果是三层,删除校验应该放在业务逻辑层进行校验,
    校验通不过,返回false,反之返回true!
    在ObjectDataSource1的Deleted事件中判断!!
        protected void ObjectDataSource1_Deleted(object sender, ObjectDataSourceStatusEventArgs e)
        {
            if (Convert.ToBoolean(e.ReturnValue) == false)
            {
                //校验通不过
            }
            else
            {
                校验通过,并删除
            }
        }