7

GridViewのButtonField(画像タイプ)の背後にあるコマンドについて質問がありました。

データの行と1つのButtonField行を表示するgvIngevuldというGridViewを取得しました。ここで、これらのボタンの後ろにコードを配置して(それぞれ同じ)、PDF形式でいくつかのものを配置する必要があります。問題は、これらのボタンの後ろにコードを配置する方法がわからないことです。私が持っているコード:

<asp:ButtonField ButtonType="Image" ImageUrl="~/Images/pdf.png"  CommandName="pdf_click" />

ご覧のとおり、CommandName = "pdf_click"プロパティを使用しましたが、ボタンの1つをクリックすると、ポストバックのみが表示されますが、何も起こりません。ここで私を助けることができる人はいますか?

必要に応じて、コードビハインド:

protected void pdf_click(object sender, EventArgs e)
{
    lblWelkom.Text = "Succes!";
}

ありがとう。

4

3 に答える 3

30

RowCommandgridviewのイベントを使用する必要があります。commandArgumentをアイテムの一意のキーに設定します。(デフォルトでは、行のインデックスを渡します)

void gvIngevuld_RowCommand(Object sender, GridViewCommandEventArgs e)
 {
 // If multiple buttons are used in a GridView control, use the
 // CommandName property to determine which button was clicked.
 if(e.CommandName=="pdf_click")
  {
   // Convert the row index stored in the CommandArgument
   // property to an Integer.
   int index = Convert.ToInt32(e.CommandArgument);

   // Retrieve the row that contains the button clicked 
   // by the user from the Rows collection.
   GridViewRow row = gvIngevuld.Rows[index]; 
   //gbIngevuld is your GridView's name

   // Now you have access to the gridviewrow.
  }  
}   

また、DataKeyNamesグリッドビューのを設定している場合は、次のようにアクセスできます。

    int index = Convert.ToInt32(e.CommandArgument);
    int ServerID = Convert.ToInt32(GridView1.DataKeys[index].Value);
于 2011-05-11T12:03:51.377 に答える
1

ただ付け加えて、私はまったく同じことを書いて試しましたが、ボタンはまだ機能していません...

OnRowCommand="<YourGridViewName>_RowCommand" ... **。cs*ファイルのGridView要素内にあるものを忘れたことに気付くまでに少し時間がかかり ました

于 2017-07-11T07:32:31.020 に答える
0

CommandNameプロパティは、呼び出すメソッドを定義しません。そのためには、コントロールのコマンドイベントにバインドされるメソッドを作成する必要があります。
恐れ入りますが、GridViewについてはあまり詳しくありませんが、これを行う最も簡単な方法は、Visual Studioのデザインビューでグリッドビューを選択し、プロパティに移動して、イベントボタンをクリックすることです(稲妻のように見えます)。フラッシュ)、RowCommandイベントプロパティをダブルクリックします。これにより、コマンドボタンイベントにバインドされるメソッドが自動的に作成されます。
次に、GridViewCommandEventArgsパラメーターを使用して、CommandName、CommandArgument、およびCommandSourceプロパティにアクセスし、イベントを発生させたボタンを特定できます。

于 2011-05-11T12:04:00.977 に答える