如何在Ajax asp .net中使用CommandArgument

时间:2014-05-24 21:01:14

标签: jquery asp.net ajax

嗨大家我有一个列出菜单项的转发器。我使用命令Argument来获取每个项目的ID在后面的代码中使用。现在我想使用Ajax在转发器中获取项目的Id

我的中继器;

<asp:Repeater runat="server" ID="repMasterMenu">
    <ItemTemplate>
        <tr>
            <td><asp:CheckBox ID="CheckBox1" runat="server"  /></td>
            <td>
                <%#Eval("MenuName") %>
            </td>
            <td>
               <asp:ImageButton ID="Edit" runat="server"   ImageUrl="~/admin/img/duzenle_16x16.gif"  CommandArgument=<%#Eval("Id") %>   onclick="edit" Width="10px"  />
            </td>
            <td>
                <asp:ImageButton ID="Delete" ImageUrl="~/admin/img/sil_16x16.gif" runat="server" CommandArgument=<%#Eval("Id") %> onclick="del" width="10px"/>
            </td>
        </tr>
    </ItemTemplate>
</asp:Repeater>

如您所见,我使用Commandargument来获取带有ImageButton的项目的ID。正如我所说,我想使用Ajax但我怎样才能获得与ImageButton一行的Id 编辑: 我已经做了类似这样的事情来获得我但是我总是得到第一件物品我无论点击哪一个

function Edit() {
     var ClickId = $('[id*="Edit"]')
         .click(function () {
             var nId = $(ClickId).data("id");
             alert(nId).val();
         })

1 个答案:

答案 0 :(得分:0)

您可以在html的数据属性中绑定ID,如下所示。

data-id=<%# Eval("Id") %>

它呈现HTML

<input type="image" src="~/admin/img/duzenle_16x16.gif" id="Edit" name="Edit" 
data-id="5" class="btnEdit">

现在将一些类分配给imagebutton并通过该类选择器绑定click处理程序,并通过获取data-id属性来调用ajax

$(".btnEdit").on("click", function(){
    var nId = $(this).data("id")
    alert(nId);
})