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