1

请注意,我正在使用带有 vb.net 的 asp.net

jQuery:

$("#create")
.button().click(function () {
$("#dialog-form").dialog("open");
});

$("#LinkButton3").click(function () {
        $("#dialog-form").dialog("open");
        return false;
    });

ASP:

<asp:TemplateField HeaderText="Edit">
    <ItemTemplate> 
        <asp:LinkButton ID="LinkButton3" runat="server">LinkButton</asp:LinkButton>
    <a href="#" class="table-actions-button ic-table-edit" id="create"></a>
     </ItemTemplate> 
</asp:TemplateField> 

对话框为 a 标签打开,但没有为链接按钮打开,谁能告诉我为什么我的代码不起作用?

4

5 回答 5

1

客户端的idoflinkbutton会有所不同,因此使用ClientID来绑定事件。还将绑定代码放入document.ready。为链接按钮分配一个类并使用类选择器绑定事件。

html

<asp:TemplateField HeaderText="Edit">
    <ItemTemplate> 
        <asp:LinkButton ID="LinkButton3" runat="server" class="someclass">LinkButton</asp:LinkButton>    <a href="#" class="table-actions-button ic-table-edit" id="create"></a>
     </ItemTemplate> 
</asp:TemplateField> 

Javascript

$('.someclass').click(function () {
    $("#dialog-form").dialog("open");
    return false;
});

如果您需要使用 id 进行选择,请使用以通配符开头的属性选择器。

$('[id=^LinkButton3]').click(function () {
    $("#dialog-form").dialog("open");
    return false;
});
于 2013-09-26T10:09:08.073 回答
0

像这样在jqueryClientID中获取服务器控制。

  var create= "#<%=create.ClientID%>";
    $(create).on('click', function() { 
      $("#dialog-form").dialog("open");
    });

不要忘记在 document.ready 中包含 js 文件和 js 代码。

于 2013-09-26T10:11:03.020 回答
0

用这个替换你的链接按钮

<asp:LinkButton ClientIDMode="Static" ID="LinkButton3" runat="server">LinkButton</asp:LinkButton>

看到这个:

ClientIDMode="静态"

于 2013-09-26T10:15:14.807 回答
0

尝试这个

将 UseSubmitBehavior="false" 添加到您的 asp 链接按钮

你的html

<asp:TemplateField HeaderText="Edit">
    <ItemTemplate> 
        <asp:LinkButton ID="LinkButton3" runat="server" UseSubmitBehavior="false">LinkButton</asp:LinkButton>
    <a href="#" class="table-actions-button ic-table-edit" id="create"></a>
     </ItemTemplate> 
</asp:TemplateField> 
于 2013-09-26T10:11:12.050 回答
0

LinkButton是服务器端 asp.net 控制导致postback. 另一点是您没有使用它更改的控件的正确 ID。尝试使用 $('# <%=LinkButton3.ClientID%>')

于 2013-09-26T10:12:16.147 回答