[英]Page refreshes with no reason
我的asp.net页面中有2个LinkButtons。 当我单击第一个时,我希望第二个可见,因此我使用以下代码来实现它:
链接按钮:
<asp:LinkButton runat="server" id="LB1" OnClientClick="updateApplet(); return false;" Text="LB1" />
<asp:LinkButton runat="server" id="LB2" style="display: none;" Text="LB2" />
在updateApplet()函数中完成一些过程之后,我希望在完成所有操作后LB2变得可见。 但是,asp页面无故刷新。
function updateApplet() {
var msg = document.capture.capture();
var hiddenControl = '<%= inpHide.ClientID %>';
document.getElementById(hiddenControl).value = msg;
document.getElementById('LB2').style.display = 'inherit';
// Without last line everything is perfect but I want LB2 is to be visible and this line refreshes my page :(
}
有人可以帮我解决我的问题吗?
请检查您的updateApplet()
函数是否正常完成(也就是说,没有抛出JavaScript异常)。
从外观上看,您的最后一行导致JavaScript错误,然后return false;
语句不会被调用,因此会触发默认的LinkButton行为。
编辑:是的,我已经找到了。 您第二个按钮的ID不是LB2
,您应该已经完成
document.getElementById('<%= LB2.ClientID %>').style.display = 'inherit';
我认为原因是
document.getElementById('LB2').style.display
使您的页面崩溃,客户端点击的return false没有机会运行,因此页面会刷新。
尝试
document.getElementById('<%= LB2.ClientID %>').style.display = 'inherit'
Java脚本函数中缺少return false。
Java脚本代码
function updateApplet() {
var msg = document.capture.capture();
var hiddenControl = '<%= inpHide.ClientID %>';
document.getElementById(hiddenControl).value = msg;
document.getElementById('LB2').style.display = 'block';
return false;
}
HTML标签
<asp:LinkButton runat="server" id="LB1" OnClientClick="return updateApplet();"
Text="LB1" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.