本帖最后由 liboyaojia 于 2010-10-22 09:43:42 编辑

解决方案 »

  1.   

    没有赋值啊
      每次他都要判断是否赋值
    也就是代码
    if (model.IsEnable != null)
    一直为true  所以系统就默认认为你赋值了
      

  2.   

    bit读取出来是数值么?那和1比较行么?
      

  3.   

    ??、
      默认值??
      明显不对么
     这不是每修改一次就把数据库中的字段改为true了么
      要是我数据库中的就是false怎么办?
      

  4.   

    model.IsEnable==DBNull.value?false:model.IsEnable;
    可空类型bool? 
      

  5.   

      也就是说把所有的DAL层所有用到bool类型的字段全部改一下??
    if (model.IsEnable == 1)????
    这不是还不对么
      假如我想把数据库中的字段改为false是不是就没法改了???
         我说的意思是有没有办法在不修改的时候
    默认值为null
      

  6.   

    改为public bool? IsEnable
    {
       set{ _isenable=DBNull.Value;}
       get { return _isenable; }
    }还是不行
     还是全部改为false
      

  7.   

    主要是传到Model层的时候已经为false了
      

  8.   

    bool类型的值有3种,TRUE、FALSE、null,分清楚这个你就明白了
      

  9.   

      嗯呢  完全理解
      就是不知道每次莫名其妙的传到Model层的时候已经为false了
      

  10.   

    bool值类型好象默认是FALSE.