私は3列のリストを作成し、各行の横にチェックボックスを持つリピーターを持っています。私は人が行をチェックするシナリオを作成しようとしています。ページは、チェックボックスがクリックされた行に対応するリピーター行の中の「部分名」テキストボックスを探し出し、そのチェックボックスが選択されると部分名を "testTextBox.Text"と呼ばれるリピーターの外にある別のテキストボックスに送ります。私は以下のコードを持っています。前に "OnCheckChanged"イベントを行っていないので、何かが欠けていると思います。私はonTextChangedイベントに慣れています。リピーター内のチェックボックスにはリピーター内のテキストボックスからリピーター外の別のテキストボックスにデータが送信されます
<asp:Repeater ID="rptAccount" runat="server" OnItemCommand="rptAccount_ItemCommand">
<HeaderTemplate>
<table>
<tr>
<th>Account
</th>
<th>Portion ID
</th>
<th>Portion Name
</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:TextBox ID="Account" runat="server" Width ="50px" Text='<%#Eval("Account") %>' ></asp:TextBox>
</td>
<td>
<asp:TextBox ID="PortionID" runat="server" Width ="90px" Text='<%#Eval("Portion ID") %>' ></asp:TextBox>
</td>
<td>
<asp:TextBox ID="PortionName" runat="server" Width ="340px" Text='<%#Eval("Portion Name") %>'></asp:TextBox>
</td>
<td>
<asp:CheckBox ID="Name" runat="server" OnCheckedChanged = "TbName_CheckedChanged" Checked='<%# Eval("Name").ToString() == "True" %>' ></asp:CheckBox>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
CSコード:
以下はコードである
protected void TbName_CheckedChanged(object sender, EventArgs e)
{
var PortionName = (sender as TextBox).Parent;
var rptAccount = (sender as TextBox).Parent;
var checkedd = rptAccount.FindControl("Name") as CheckBox;
var PortionNamee = rptAccount.FindControl("PortionName") as TextBox;
if (checkedd.Checked)
{
testTextBox.Text = PortionNamee.Text;
}
}
は、あなたが提供することができます任意の助けてくれてありがとう。
あなたはそれがaspxページ上に挿入され、CMDうrptAccount_ItemCommand – hardkoded
を使用する必要がありますか?まだOnCheckChangedイベントの下にありますか? –
[リピーター内のチェックボックス、チェックが変更された機能でコマンド名の値を取得する方法](https://stackoverflow.com/questions/18439197/check-box-inside-repeater-how-to-get-command)の可能な複製-name-value-in-the-check-changed-f) – hardkoded