0

ASP.NET を使用して Web アプリケーションに取り組んでいますが、GridView Updating Event で更新挿入を区別する必要がある状況に陥りました。

 protected void GridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
 {
    //conditional check
    if(Update Flage){
        //Call Update Function
    }
    else{
        //Call Insert Function
    }
 }

GridViewにItemTemplateEditItemTemplateがあります。[編集] ボタン (ItemTemplate) をクリックすると、[更新] ボタン (EditItemTemplate) に変更されます。

ここに画像の説明を入力

また、GridView の外側にボタンを追加し、クリックすると、新しい行を GridView に追加し、ボタンのテキストを次のコード フラグメントのようにADDに変更します。

ds.Tables[0].Rows.InsertAt(ds.Tables[0].NewRow(), 0);
GridViewID.EditIndex = 0;

LinkButton cmdButton = GridView.Rows[0].FindControl("btnUpdate") as LinkButton;
cmdButton.Text = "Add";

行挿入用の InsertItemTemplate があることは知っていますが、私の状況では、GridView の外側で Button を使用して、代わりに新しい編集行を追加していました。

では、RowUpdating イベントでの編集または挿入をどのように区別できますか? これを達成するための推奨されるトリックはありますか? おそらく、HiddenField をフラグとして追加するようなものです。

よろしくお願いします。

4

1 に答える 1

0

そのコマンド名の値に基づいてイベントを識別できます

例えば。

 protected void GridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
     {
       string arg = e.CommandName.ToString();
    if(arg="Edit")
     {
     }
    else if(arg=="Update")
      {
      }

マークアップ

<asp:LinkButton ID="lnkEdit" Text="Customize"  CommandName="edit"  CommandArgument='edit'  runat="server"> 
       </asp:LinkButton>  
于 2013-03-23T07:56:13.390 に答える