GridView的RowUpdating事件
GridView 的 RowUpdating 事件接受的第二个参数是一个 GridViewUpdateEventArgs 类型的对象,它包含一个 NewValues 字典,当中的每一个属性保存着用户输入的值,准备赋值到 ObjectDataSource 的 UpdateParameters 集合。我们可以重写现有的 NewValues 集合中的 UnitPrice 值为一个货币金额,通过下面的事件处理程序中的代码进行解析:
GridView 的 RowUpdating 事件接受的第二个参数是一个 GridViewUpdateEventArgs 类型的对象,它包含一个 NewValues 字典,当中的每一个属性保存着用户输入的值,准备赋值到 ObjectDataSource 的 UpdateParameters 集合。我们可以重写现有的 NewValues 集合中的 UnitPrice 值为一个货币金额,通过下面的事件处理程序中的代码进行解析:
protected
void
GridView1_RowUpdating(
object
sender, GridViewUpdateEventArgs e)
{
if (e.NewValues["UnitPrice"] != null)
e.NewValues["UnitPrice"] = decimal.Parse(e.NewValues["UnitPrice"].ToString(), System.Globalization.NumberStyles.Currency);
}
{
if (e.NewValues["UnitPrice"] != null)
e.NewValues["UnitPrice"] = decimal.Parse(e.NewValues["UnitPrice"].ToString(), System.Globalization.NumberStyles.Currency);
}
如果用户提供了一个诸如“$ 19.00 ” 的UnitPrice值,这个值会被通过Decimal.Parse计算并解析为货币金额的值重写。这将正确的解析货币值,无论是货币符号、逗号、小数点、等等,并使用System.Globalization命名空间的NumberStyles枚举。