3

私はC#ASP.netを使用していますが、比較的新しいため、以下を達成する必要があります。

私のVS2010 WebアプリケーションプロジェクトではwebformGridviewテーブルからデータをフェッチする.

グリッドには、Commandfiledボタン (column1) とアイテム テンプレートDropdownlist(column2) があります。

ユース ケースは、ユーザーが最初listitemに 3 つのリスト項目 (H、L、M) から 1 つを選択し、次にコマンド ボタンを選択する場合です。

listitem選択した行から選択したものを抽出する方法がわかりません

protected void GridView2_SelectedIndexChanged(object sender, EventArgs e)
{

    GridViewRow row = GridView2.SelectedRow;
    Label4.Text = "You selected " + row.Cells[4].Text + "."; 
    Label5.Text = "You selected this list item from dropdownlist " + ???? ; 
}

前もって感謝します。

4

1 に答える 1

2

このGridViewRowオブジェクトは、FindControl(すべてのコンテナー コントロールと同様に) ID によって行内のコントロールにアクセスするためのメソッドを提供します。たとえばDropDownList、 の ID が のMyDropDown場合、次を使用して選択した値にアクセスできます。

GridViewRow row = GridView2.SelectedRow;
DropDownList MyDropDown = row.FindControl("MyDropDown") as DropDownList;
string theValue = MyDropDown.SelectedValue;
// now do something with theValue

これは、 内のすべてのコントロールにアクセスするための推奨される方法ですGridViewrow.Cells[#]GridView から列を再配置または追加/削除すると簡単に壊れてしまうため、このようなことはできるだけ避けたいと考えています。

于 2012-04-20T02:15:29.007 に答える