2

templateFieldタグ内のテキストボックスの値を取得するには?

これが私のコードです:

 <Fields>
   <asp:TemplateField >
     <ItemTemplate >
     <asp:TextBox ID="SUBJEK" runat="server" Width="600px" Text='<%# Bind("SUBJEK") %>' />
     </ItemTemplate>
    </asp:TemplateField>
  </Fields>

そして、私は値を取得しようとします:

TextBox subjek = (TextBox)DV1.FindControl("SUBJEK") as TextBox;

しかし、うまくいきませんでした。これはエラーメッセージです:

「タイプ 'System.Web.UI.Control' を 'JobList.TextBox' に変換できません」

4

4 に答える 4

2

名前空間に。という名前の別のクラスがありますTextBox

チェックしJobList.TextBoxてください。asp.netTextBoxではありません。

これは役立つはずです:

var subjek = (TextBox)DV1.FindControl("SUBJEK") as System.Web.UI.WebControls.Textbox;
于 2012-07-09T13:10:16.177 に答える
2

コントロールを見つけるためにセルに移動しなければなりません. 行インデックスと列インデックスを提供してください.

int indexOfRowYouAreFinding = 0;
int indexOfColYouAreFinding = 2;

TextBox subjek = DV1.Rows[indexOfRowYouAreFinding].Cells[indexOfColYouAreFinding].FindControl("SUBJEK")[0] as TextBox;
于 2012-07-09T12:58:31.773 に答える
0

詳細ビューには複数の行があるため、テキスト ボックスの値を選択する行のインデックスを指定する必要があります。 TextBox t= ( TextBox )DV1.Rows[0].FindControl("SUBJEK");

このコードは、最初の行の値を返します。

于 2012-07-09T13:05:24.710 に答える
0

FindControlメソッドはarray単一のコントロールではなくコントロールの を返すため、 に言及する必要がありますindex

TextBox subjek = DV1.FindControl("SUBJEK")[0] as TextBox;
于 2012-07-09T11:28:12.860 に答える