我有一个 gridview 和 sqldatasource 来将数据从 datatable 绑定到 gridview 。
当我用一个新的单元格更新一个值,并且该值已经存在于 gridview 的其他单元格中时,我将得到唯一值的约束错误。
如何捕获该错误并在标签中显示文本以警告用户该值已存在?所以,我没有从事件中向 gridview 添加一些东西,也没有什么我可以捕捉到的。我只是在编辑gridview。
谢谢
为那里添加一个处理程序OnRowUpdated
并处理错误:
例子:
OnRowUpdated="GridViewUpdateEventHandler"
protected void GridViewUpdateEventHandler(Object sender, GridViewUpdatedEventArgs e)
{
if(e.Exception!=null)
{
lblForError.Text="Unable to update"; //etc
}
}
其他人建议您这样做,OnRowUpdating
但这是如果您想在实际允许更新继续之前进行验证。如果您决定要走这条路线,您需要做的就是将参数设置e.Cancel
为 True,GridViewUpdateEventArgs
如下所示:
e.Cancel=true;
我认为您想定义您的插入/插入处理程序,并且这些处理程序的参数包含从数据库抛出的任何异常。
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.sqldatasource.inserted.aspx
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.sqldatasourcestatuseventargs.aspx