0

asp.net リピータ コントローラがあり、非表示フィールドの値を取得しようとしています。CheckBox1_CheckedChanged

<ul id="sortable">
    <asp:Repeater runat="server" ID="rep_sortable">
        <ItemTemplate>
            <li class="ui-state-default">
               <span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
               <%# DataBinder.Eval(Container.DataItem, "Body") %> 
               <%# DataBinder.Eval(Container.DataItem, "Completed") %> 
               <asp:CheckBox ID="chb_com"  runat="server" AutoPostBack="True" Checked='<%# DataBinder.Eval(Container.DataItem, "Completed")  %>' oncheckedchanged="CheckBox1_CheckedChanged"/>
               <asp:HiddenField ID="hf_reminderID" runat="server" Value='<%# DataBinder.Eval(Container.DataItem, "ReminderID")  %>'/>
            </li>
        </ItemTemplate>
    </asp:Repeater>
</ul>

c#

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
   foreach()
}
4

2 に答える 2

0

NamingContainerを使用して兄弟コントロールを見つけることができます。

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
    var checkBox = (CheckBox) sender;
    var reminderHiddenField = (HiddenField)checkBox.NamingContainer
        .FindControl("hf_reminderID");
}
于 2013-02-27T20:10:24.540 に答える
0

このコードは動作するはずです:

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
        {
            var checkBox = sender as CheckBox;
            var hiddenField = checkBox.Parent.FindControl("hf_reminderID") as HiddenField;
            var value = hiddenField.Value;
        }
于 2013-02-27T20:13:03.997 に答える