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