更新标签中gridview catch限制唯一值错误中的行时

时间:2012-05-10 17:17:31

标签: c# asp.net

我有一个gridview和sqldatasource来将数据从datatable绑定到gridview。

当我使用新单元格更新某个单元格中的值时,该值已存在于gridview的其他单元格中,我将获得唯一值的附加错误。

如何捕获该错误并在标签中显示文本以警告用户该值已存在? 所以,我没有从事件中添加一些东西给gridview,而且我无法捕捉到任何东西。我只是在编辑gridview。

由于

2 个答案:

答案 0 :(得分:0)

我认为你想要定义你的插入/插入处理程序,这些处理程序的参数包含从数据库抛出的任何异常。

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

答案 1 :(得分:0)

OnRowUpdated添加处理程序并在那里处理错误:

示例:

OnRowUpdated="GridViewUpdateEventHandler"


protected void GridViewUpdateEventHandler(Object sender, GridViewUpdatedEventArgs e)
{
    if(e.Exception!=null)
    {
       lblForError.Text="Unable to update"; //etc
    }
}

其他人建议您在OnRowUpdating上执行此操作,但这是因为您希望验证之前实际允许更新继续进行。如果您决定要使用此路线,则只需在e.Cancel参数上将GridViewUpdateEventArgs设置为True即可:

e.Cancel=true;