我正在尝试从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 %>'
答案 0 :(得分:0)
如果您使用sqldatasource
作为数据源(如MSDN Example)那么,您需要在其deletecommand
属性上编写删除查询。或者,如果您使用DataTabe
作为DataSource
,那么您需要处理gridview的RowDeleting
事件。检查this link是否有样本。
答案 1 :(得分:0)
虽然它不一定能回答我的问题,但它解决了我试图破解它的问题:
来自问题:
“...出于某种原因,当我从数据库和数据绑定中删除项目时,gridview仍然没有更新......”
Gridviews具有预定义的命令设置,例如“选择”,“编辑”和“删除”。当我尝试使用命令名称“delete”来定义我自己的事件时,程序将尝试运行我的事件的一部分以及它的预定义事件。这就是造成问题的原因。