无法在链接按钮单击上打开jquery对话框

时间:2013-09-26 10:04:46

标签: jquery asp.net vb.net vb.net-2010

请注意,我正在使用带有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标签打开对话​​框,但是没有为链接按钮打开,任何人都可以告诉我为什么我的代码无效?

5 个答案:

答案 0 :(得分:1)

客户端id的{​​{1}}会有所不同,因此请使用linkbutton绑定事件。还把绑定代码indocument.ready。将类分配给linkbutton并使用类选择器绑定事件。

HTML

ClientID

的Javascript

<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> 

如果你需要使用id进行选择,那么使用带有通配符的属性选择器。

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

答案 1 :(得分:0)

使用ClientID来获取jquery中的服务器控制。

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

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

答案 2 :(得分:0)

试试这个

添加UseSubmitBehavior =&#34; false&#34;到你的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> 

答案 3 :(得分:0)

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

答案 4 :(得分:0)

用这个

替换你的链接按钮
<asp:LinkButton ClientIDMode="Static" ID="LinkButton3" runat="server">LinkButton</asp:LinkButton>

看到这个:

<强>的ClientIDMode = “静态”