我有一个linkbutton,在单击时不知何故不发回邮件。这是代码
<script type="text/javascript">
$(function () {
$('#divTabs').tabs({
show: function () {
var sel = $('#divTabs').tabs('option', 'selected');
$('#<%= hfLastTab.ClientID %>').val(sel);
},
selected: '<%= hfLastTab.Value %>'
});
});
</script>
<div id="divTabs">
<ul>
<li runat="server" id="TabBar1" ><asp:LinkButton ID="TabLink1" runat="server" OnClick="TabLink1_Click" > Link1 </asp:LinkButton></li>
<li runat="server" id="TabBar2" ><asp:LinkButton ID="TabLink2" runat="server" OnClick="TabLink2_Click"> Link2 </asp:LinkButton></li>
<li runat="server" id="TabBar3" ><asp:LinkButton ID="TabLink3" runat="server" OnClick="TabLink3_Click"> Link3 </asp:LinkButton></li>
</ul>
....
</div>
以及后面的代码:
protected void TabLink1_Click(object sender, System.EventArgs e)
{
SelectTopBar();
SetSelectTab("TabBar1");
}
protected void TabLink2_Click(object sender, System.EventArgs e)
{
SelectTopBar();
SetSelectTab("TabBar2");
}
protected void TabLink3_Click(object sender, System.EventArgs e)
{
SelectTopBar();
SetSelectTab("TabBar3");
}
我尝试将断点放在代码隐藏中,但没有成功。页面也没有刷新。如果我使用<asp:Button>
,则它将进行提交,并且一切似乎都很好。我还尝试查看是否有多个<form>
标签,但没有。我还确保在aspx页面中将那些click事件绑定在一起。
[编辑]:链接按钮位于jquery标签内。因此<a href...
,我没有使用不执行任何回发的jquery示例中的普通操作,而是使用asp linkbutton并希望进行回发。
任何的想法?
找到了一些解决方法。我在之外定义了另一个linkbutton <div id="divTabs">
,里面的linkbutton<div id="divTabs">
会调用外部的linkbutton。所以代码变得像
<asp:LinkButton ID="LinkButton1" runat="server" OnClick="TabLink1_Click" ></asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" OnClick="TabLink2_Click" ></asp:LinkButton>
<asp:LinkButton ID="LinkButton3" runat="server" OnClick="TabLink3_Click" ></asp:LinkButton>
<div id="divTabs">
<ul>
<li runat="server" id="TabBar1" ><asp:LinkButton ID="TabLink1" runat="server"> Link1 </asp:LinkButton></li>
<li runat="server" id="TabBar2" ><asp:LinkButton ID="TabLink2" runat="server"> Link2 </asp:LinkButton></li>
<li runat="server" id="TabBar3" ><asp:LinkButton ID="TabLink3" runat="server"> Link3 </asp:LinkButton></li>
</ul>
....
</div>
在后面的代码中,在Page_Load
函数内部
TabLink1.OnClientClick = "document.getElementById('" + LinkButton1.ClientID + "').click();";
TabLink2.OnClientClick = "document.getElementById('" + LinkButton2.ClientID + "').click();";
TabLink3.OnClientClick = "document.getElementById('" + LinkButton3.ClientID + "').click();";
我猜想jQuery库可能会产生一些影响,以至于该链接不会调用回发,因此我正在使用上述解决方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句