-2

在页面加载时,我已将数据库中的数据显示到 gridview 上(带有编辑和删除选项)。我在页面上也有一个搜索按钮。当我单击搜索时,搜索到的数据应该在 gridview 中可见,这工作正常。但是,当我在搜索后单击删除链接时,它不会占用搜索到的行。点击删除后的页面回发。我需要检查在 gridview 上执行的事件之前执行的事件。怎么做??我希望这个问题很清楚..任何帮助表示赞赏。谢谢。

4

1 回答 1

0

Page_Load 发生在 RowCommand 之前,您是否仅绑定网格 if(!IsPostBack) ?

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        BindGrid();
    }
}

protected void SearchButton_Click(object sender, EventArgs e)
{
    BindGrid(searchText.Text);
}

protected void GridView_RowCommand(object sender, GridViewRowEventArgs e)
{
    switch(e.CommandName)
    {
        case "Delete":
            DeleteRow(e.Row.CommandArgument);
            break;
    }
}

private void BindGrid()
{
    //GridView binding business logic.
}

private void BindGrid(String searchTerm)
{
    //GridView binding logic with searchTerm.
}

private void DeleteRow(String commandArg)
{
    //Convert command arg to ID or whatever and delete data.
}
于 2012-09-14T14:40:18.687 回答