0

私はリピーターを使用しています:

<form id="form1" runat="server">
    <div>
        <asp:Repeater ID="repeater" runat="server" OnItemDataBound="repeater_ItemDataBound">
            <ItemTemplate>
                <tr>
                    <td>
                        <asp:CheckBox ID="checkbox" runat="server" AutoPostBack="false" OnCheckedChanged="Check_Clicked" data-id='<%# DataBinder.Eval(Container.DataItem, "ProfileID") %>'
                            Text="I agree" />
                    </td>
                    <td>
                        <asp:Label ID="lblProfileDesc" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "ProfileDesc") %>'></asp:Label>
                    </td>
                </tr>
                <br />
            </ItemTemplate>
        </asp:Repeater>
        <asp:Button ID="btn" runat="server" Text="Click" onclick="btn_Click" />
    </div>
    </form>

onCheckedChange を処理していますが、どのチェックボックスがクリックされたかを確認するにはどうすればよいですか? 前もって感謝します!

4

2 に答える 2

4

あなたが試すことができます

CheckBox checkBox = (CheckBox)sender;
var id = checkBox.Attributes["data-id"];
于 2011-07-04T18:17:51.043 に答える
0

チェックボックス(ブールパラメータ)の変更に対してのみ完全なポストバックを発生させることは許容されないため、UIアーキテクチャを再設計する必要があるかもしれません。ここでajaxを使用できると思います:

 $(function(){
     $('input[type=checkbox]').click(function(){
          // Initializing an ajax call here, and updating DOM based on response.
     });
 });
于 2011-07-04T18:26:12.680 に答える