C# GridView在行删除事件后隐藏
我正在使用GridView行命令事件从GridView中删除行,我添加了GridView的行删除事件, 但删除后,GridView将变得隐藏。 下面是我的代码C# GridView在行删除事件后隐藏,c#,asp.net,C#,Asp.net,我正在使用GridView行命令事件从GridView中删除行,我添加了GridView的行删除事件, 但删除后,GridView将变得隐藏。 下面是我的代码 protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack){ LoadData()//Here I am databinding the Grid } } private void LoadData() { va
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack){
LoadData()//Here I am databinding the Grid
}
}
private void LoadData()
{
var data=MyClass.GetRecords();//it returns DataTable
dg.DataSource=data;
dg.DataBind();
}
protected void dg_RowCommand(Object sender, GridViewCommandEventArgs e)
{
if(e.CommandName =="del")
{
//Delete Records
dg.DataBind();
}
}
public void dg_RowDeleting(Object sender, GridViewDeleteEventArgs e)
{
dg.DataBind();
}
GridView不显示任何记录,因为在
dg_rowdeleding
中调用数据绑定之前,您没有为其分配数据源
在重新调用DataBind
之前,需要重新分配DataSource
,因为回发时不会再次设置它
因此,dg_RowCommand
方法的删除部分的典型方法是:
数据源
属性DataBind()
绑定GridView对于步骤2-4,您可以从
dg_row命令
调用LoadData
方法。如果您自己不执行删除操作,但想在删除行时执行某些操作,则只需执行dg_rowdeleding
。我猜您在删除行后缺少数据源
试试这个
protected void dg_RowCommand(Object sender, GridViewCommandEventArgs e)
{
if(e.CommandName =="del")
{
//Delete Records
LoadData();
}
}
public void dg_RowDeleting(Object sender, GridViewDeleteEventArgs e)
{
LoadData();
}
你的意思是数据都消失了吗?数据源在哪里???@PandaZhang是的,你可以这么说,但是当我刷新页面时,GridView出现了again@VigneshKumar我刚刚把方法贴在了问题所在的地方arising@SyedSalmanRazaZaidi发布完整代码。此错误是由数据源引起的