1

私はデータリストを持っており、その中には多くの行があり、これらの行の1つにグリッドビューがあります。私はそれが次のようなものだと言うことができます

<DataList>
  <tr>
      <td> [textbox1 control]  </td>
  </tr>
  <tr>
      <td> [textbox2 control]  </td>
  </tr>
  <tr>
    <td> 
       <gridview/>
    </td>
  </tr>
</DataList>

私の問題は、グリッドビューの RowCommand ハンドラーにいるときです [textbox1 コントロール] と [textbox1 コントロール] に存在するデータを取得したい

私は次のことをします

DataListItem dataListItem = (DataListItem)((GridView)sender).Parent.Parent.Parent.Parent;
string txt = ((TextBox)dataListItem.FindControl([textbox1 control])).Text.Trim();

しかし、これが唯一の方法ですか?

4

2 に答える 2

0

このようなものは機能しますか?

string txt = ((TextBox)DataList.Items[0].FindControl([textbox1 control])).Text.Trim();
于 2010-03-24T14:33:19.790 に答える
0

DataListItem dataListItem = (DataListItem)((GridView)sender).Parent.Parent.Parent.Parent; string txt = ((TextBox)dataListItem.FindControl([textbox1 コントロール])).Text.Trim(); しかし、これが唯一の方法ですか?

はい、データリスト内に隠しフィールドがあると仮定して、以下で置き換えることができます

DataListItem activitiesItem = (DataListItem)((GridView)sender).NamingContainer;

HiddenField hdnActivityID = (HiddenField)activitiesItem.FindControl("hdnActivityID");

于 2015-05-12T10:57:26.540 に答える