GridView OldValue和NewValue最佳实践

时间:2013-08-08 23:16:31

标签: gridview

我开始工作,但这是最好的方法吗? 在使用SQLDataSrc更改GridView中的值时,我需要查看它是否从N更改为Y,如果是,则执行某些操作。如果我以最有效的方式做到,我想输入。

OnRowUpdating="GridView_RowUpdating"

    protected void GridView_RowUpdating(Object sender, GridViewUpdateEventArgs e)
{

    String OldValue = e.OldValues[0].ToString();
    String NewValue = e.NewValues[0].ToString();

    if (OldValue == "N")
    {

        if (NewValue == "Y")
        {
            //do something
        }

    }
}

谢谢, 道格

1 个答案:

答案 0 :(得分:0)

如果数据源是表或TableSet,我有一个我编写的函数,它根据当前列值计算校验和,并在编辑之前存储它。当需要保存时,我会根据新的行数据计算校验和,如果它被更改,我知道我需要发布数据。

对于数据绑定到网格的对象,每当可编辑属性发生更改时,我都会设置一个私有的“脏”标志:在编辑之前我清除该标志,然后检查它。

我的属性设置器看起来像这样:

private string _name = "";
private bool _dirty = false;
...

string Name
{
     get { return _name; }

     set { if (value != _name)
           {
              _dirty = true;
              _name = value;
           }
         }
}