C# jQuery找不到Asp.net repeater项目

C# jQuery找不到Asp.net repeater项目,c#,jquery,asp.net,repeater,custom-data-attribute,C#,Jquery,Asp.net,Repeater,Custom Data Attribute,我在我的webforms页面上有一个转发器,有一个绑定到它的列表。在绑定列表时,我还向tr附加了一个数据id属性。问题是我需要在来自jQuery的web服务调用中使用该id,我正在测试当我从repeater项单击按钮时,是否可以通过记录数据id属性值来获取id,但从外观来看,它只记录项目,不记录交替项目 每次单击按钮1、3和5时,都会记录日志,但当我单击按钮2和按钮4时,控制台中不会记录任何内容。请参阅下面的代码 转发器模板 <asp:Repeater runat="server"

我在我的webforms页面上有一个转发器,有一个绑定到它的列表。在绑定列表时,我还向tr附加了一个数据id属性。问题是我需要在来自jQuery的web服务调用中使用该id,我正在测试当我从repeater项单击按钮时,是否可以通过记录数据id属性值来获取id,但从外观来看,它只记录项目,不记录交替项目

每次单击按钮1、3和5时,都会记录日志,但当我单击按钮2和按钮4时,控制台中不会记录任何内容。请参阅下面的代码

转发器模板

    <asp:Repeater runat="server" ID="rptList" OnItemDataBound="rptList_OnItemDataBound">
        <HeaderTemplate>
            <table>
        </HeaderTemplate>
        <ItemTemplate>
            <tr runat="server" id="trList">
                <td runat="server" id="tdList"></td>
                <td runat="server" id="tdBtnRemove">
                    <asp:Button runat="server" ID="btnRemove" CssClass="btnRemove" Text="Remove" OnClientClick="return false;"/></td>
            </tr>
        </ItemTemplate>
        <AlternatingItemTemplate>
            <tr runat="server" id="trList">
                <td runat="server" id="tdList"></td>
                <td runat="server" id="tdBtnRemove">
                    <asp:Button runat="server" ID="btnRemove" Text="Remove" OnClientClick="return false;"/></td>
            </tr>
        </AlternatingItemTemplate>
        <FooterTemplate>
            </table>
        </FooterTemplate>
    </asp:Repeater>
控制台结果:


如评论中所述,您的
AlternatingItemTemplate
遗漏了
CssClass=“btnRemove”
属性


因此,您的
$(“.btnRemove”)。单击(…
绑定不会以AlternatingItemTemplate中的按钮为目标

您的AlternatingItemTemplate按钮将错过cssclassbtnRemove@jbl哦,哇,我犯了一个多大的错误啊哈哈…谢谢你…把它作为一个答案,这样我就可以标记它了
List<string> listObj = new List<string>(){"one", "two", "three", "four", "five"}; 


    protected void rptList_OnItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        string listItem = (string) e.Item.DataItem;
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            HtmlTableRow trList = (HtmlTableRow)e.Item.FindControl("trList");
            trList.Attributes.Add("data-id", listItem);

            HtmlTableCell tdList = (HtmlTableCell)e.Item.FindControl("tdList");
            tdList.InnerHtml = listItem;
        }
    }
$(".btnRemove").click(function () {
    var dataAttributVal = $(this).closest("tr");
    var datA = dataAttributVal.data('id');
    console.log(datA);
});