C# 在数据列表中使用复选框和文本框

C# 在数据列表中使用复选框和文本框,c#,asp.net,string,checkbox,C#,Asp.net,String,Checkbox,我已经在asp.net中创建了一个数据列表- <asp:DataList runat="server" ID="pTextBox"> <ItemTemplate> <asp:CheckBox ID="CheckBoxPN" runat="server" Checked='false' /> <asp:TextBox ID="profileTextBox" runat="server" Text='<%# Container.DataItem.

我已经在asp.net中创建了一个数据列表-

<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>

这将基于从Web服务传递的字符串值创建复选框和文本框

当用户单击
CheckBoxPN
并用字符串值填充页面上数据列表之外的另一个文本框时,如何获取
profileTextBox
文本字符串值,只需使用
FindControl
即可找到其他服务器控件:

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
}

顺便说一句,这种方法适用于任何web数据绑定控件(
Repeater
GridView
,等等)

“如何获取”。。。哪里客户端还是服务器端?将字符串值传递给页面上的另一个文本框,并使用我应该提到的数据列表。现在编辑。我尝试了您的解决方案,并将其添加到了aspx中-但是,如果我在调试时在“CheckBoxPN_CheckedChanged”上设置断点,当我在其上设置断点时,它不会进入事件,并且无法检索该值???@Jambo:我假设您错误地将数据绑定到回发上的数据列表。只要在第一次加载时执行即可。因此,这可能会在
Page_Load
中修复它:
如果(!IsPostBack){DataBindDataList();}
看起来你是个英雄。繁荣完成!非常感谢。