3

私はasp.netでDataListを作成しました -

<asp:DataList runat="server" ID="pTextBox">

<ItemTemplate>

<asp:CheckBox ID="CheckBoxPN" runat="server"  Checked='false' />
<asp:TextBox ID="profileTextBox" runat="server" Text='<%# Container.DataItem.ToString() %>'></asp:TextBox>&nbsp;


</ItemTemplate>
</asp:DataList>

これにより、webService から渡された文字列値に基づいて、checkBox と textBox が作成されます。

profileTextBoxユーザーがクリックCheckBoxPNして、ページ上の DataList を使用して別の textBoxに文字列値を設定したときに、テキスト文字列値を取得するにはどうすればよいですか??

4

1 に答える 1

2

You can use the CheckedChanged event of the CheckBox and cast it's NamingContainer to DataListItem, the you just have to use FindControl to find a different server control:

protected void CheckBoxPN_CheckedChanged(Object sender, EventArgs e)
{
    CheckBox chk = (CheckBox) sender;
    DataListItem item = (DataListItem) chk.NamingContainer;
    TextBox txt = (TextBox) item.FindControl("profileTextBox");
    this.OtherTextBoxOnPage.Text = txt.Text; // here we are
}

By the way, this approach works with any web-databound control(Repeater, GridView, etc.)

于 2013-01-16T16:04:57.530 に答える