【发布时间】:2014-07-29 08:28:05
【问题描述】:
我正在使用 vb.net 创建一个网站。我想要做的不是页面上有多个表单,只有多个表单并在按钮单击时隐藏/显示它们,因此实际的 url 不会发生变化,只是显示页面。 所以我使用 vb.net 和 javascript 来实现。
我的 vb.aspx 页面:
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
<script src="Scripts/jquery-1.11.1.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
<!--
function show_ata() {
$('#dmi').hide();
$('#ata').show("slow");
}
function back() {
$('#ata').hide();
$('#dmi').show("slow");
}
// -->
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="BodyContent" runat="server">
<div id="ata" runat="server" >
<p>ATA</p>
<asp:Button runat="server" ID="Button1" OnClientClick="return back()" Text="Back to DMI" CausesValidation="false" />
</div>
<div id="dmi" runat="server">
<p>DMI</p>
<asp:Button runat="server" ID="btnatadetails" OnClientClick="return show_ata()" Text="Go to ATA" CausesValidation="false" />
</div>
</asp:Content>
这就是我的代码,我在.aspx.vb页面上也有一些代码,但它只是检查用户是否登录,与页面显示无关,所以我不会在这里发布.
我的问题 我的问题是,由于某种原因,单击操作上的按钮仅将给定的 div 隐藏 1 秒,然后再次显示,我的意图是隐藏它并保持隐藏状态。
任何想法我做错了什么?
解决方案 你们中的一些人建议我应该将我的 javascript 代码包装在文档就绪函数中,这可能是正确的,但不能解决我的问题。 解决方案是为按钮单击编写 vb 代码,如下所示:
Private Sub btnatadetails_Click(sender As Object, e As System.EventArgs) Handles btnatadetails.Click
dmi.Visible = False
ata.Visible = True
End Sub
或者不使用ASP:Button而使用html按钮<input type=button>,因为asp:button在服务器上运行,每次点击页面都会重新加载并恢复到原来的状态。
感谢大家的帮助。
【问题讨论】:
标签: javascript jquery html asp.net vb.net