从Gridview中的Codebehind中删除一行(获得异常?)
本文关键字:一行 异常 中的 Gridview Codebehind 删除 | 更新日期: 2023-09-27 18:01:23
我试图从我的gridview手动删除一行,因为出于某种原因,当我从数据库和数据绑定中删除项目时,gridview仍然没有更新。下面是我使用的代码:
try
{
gvCertifications.DeleteRow(int.Parse(commandArgs[1]));
}
catch (HttpException)
{
//error
}
,出于某种原因,我总是击中HttpException?我试过在和之前放置这个命令,在我的DataBind之后(因为MSDN说,当gridview不绑定到数据源时,HttpException会发生)
gridview在加载时已经绑定到数据源,所以我不知道为什么我会得到这个异常…
另外,如果它有帮助,这里是我如何得到commandArgs[]
:
String[] commandArgs = e.CommandArgument.ToString().Split('|'); //before in same function as the try/catch block
,下面是.aspx文件中的命令:
CommandArgument='<%#Eval("ThisId") + "|" + Container.DataItemIndex %>'
如果您使用sqldatasource
作为数据源(如MSDN示例),那么您需要对其deletecommand
属性编写删除查询。或者如果您使用DataTabe
作为DataSource
,那么您需要处理gridview的RowDeleting
事件。查看此链接查看示例
虽然它不一定回答我的问题,但它解决了我试图破解的问题:
从问题:"…由于某种原因,当我从数据库和数据绑定中删除项目时,gridview仍然没有更新…"
Gridviews设置了预定义的命令,例如'select', 'edit'和'delete'。当我尝试用命令名"delete"定义我自己的事件时,程序将尝试运行我的事件的一部分,以及它预定义的事件。