-2

ページの読み込み時に、データベースからグリッドビューにデータを表示しました(編集および削除オプション付き)。また、ページに検索ボタンがあります。検索をクリックすると、検索されたデータがグリッドビューに表示され、正常に動作しています。しかし、検索後にリンクの削除をクリックすると、検索された行が取得されません。削除をクリックすると、ページがポストバックします。グリッドビューで実行されるイベントの前に実行されるイベントを確認する必要があります。どうやってするか??問題が明確であることを願っています..どんな助けでも大歓迎です。ありがとう。

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 に答える