我有一个gridview和sqldatasource来将数据从datatable绑定到gridview。
当我使用新单元格更新某个单元格中的值时,该值已存在于gridview的其他单元格中,我将获得唯一值的附加错误。
如何捕获该错误并在标签中显示文本以警告用户该值已存在? 所以,我没有从事件中添加一些东西给gridview,而且我无法捕捉到任何东西。我只是在编辑gridview。
由于
答案 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;