C# 更新gridview中的行时,捕获约束标签中的唯一值错误
我有一个gridview和sqldatasource将数据从datatable绑定到gridview 当我用一个新的单元格更新一个值,并且该值已经存在于gridview的另一个单元格中时,我将得到唯一值的CONTAINT error 如何捕获该错误并在标签中显示文本以警告用户该值已存在? 所以,我没有从事件中向gridview添加任何内容,也没有什么可以捕捉到的。我只是在编辑gridviewC# 更新gridview中的行时,捕获约束标签中的唯一值错误,c#,asp.net,C#,Asp.net,我有一个gridview和sqldatasource将数据从datatable绑定到gridview 当我用一个新的单元格更新一个值,并且该值已经存在于gridview的另一个单元格中时,我将得到唯一值的CONTAINT error 如何捕获该错误并在标签中显示文本以警告用户该值已存在? 所以,我没有从事件中向gridview添加任何内容,也没有什么可以捕捉到的。我只是在编辑gridview 谢谢我认为您需要定义插入/插入的处理程序,这些处理程序的参数包含从数据库抛出的任何异常 为OnRowU
谢谢我认为您需要定义插入/插入的处理程序,这些处理程序的参数包含从数据库抛出的任何异常
为OnRowUpdated添加一个处理程序,并在那里处理错误: 例如:
OnRowUpdated="GridViewUpdateEventHandler"
protected void GridViewUpdateEventHandler(Object sender, GridViewUpdatedEventArgs e)
{
if(e.Exception!=null)
{
lblForError.Text="Unable to update"; //etc
}
}
其他人建议您在onrowUpdate
上执行此操作,但如果您想在实际允许更新继续之前验证。如果您决定走这条路线,只需在GridViewUpdateEventArgs
参数中将e.Cancel
设置为True,如下所示:
e.Cancel=true;
如果您定义GridView行更新事件,您可以很容易地做到这一点。好的,我回家后会测试它。谢谢你的帮助