我遇到一个问题,当点击按钮时,面板不会改变。在错误的意义上。我可以使用以下超链接更改面板。
<a href="#" onclick="$('#panel1').hide(); $('#panel2').show()">Test</a>
但我想使用asp:LinkButton并且它不能像这样工作。
<asp:LinkButton ID="btngantipassword" runat="server" CssClass="btn btn-lg btn-primary btn-block" href="#" OnClick="$('#panel1').hide(); $('#panel2').show()">Change Password</asp:LinkButton>
我仍然是使用asp.net的初学者。帮我解决这个问题。
答案 0 :(得分:2)
几乎每个Control都有一个Visibility property。可以在Control本身的aspx页面上设置此属性
<asp:Label ID="Label1" runat="server" Text="Label" Visible="false"></asp:Label>
该属性也可以在
后面的代码中设置Label1.Visible = false;
visibility属性与JavaScript和CSS的工作方式不同。通常,如果您使用display:none
定义一个CSS类,您将无法在浏览器中看到它,但它确实存在。如果您查看HTML,就可以找到它。
但是在asp.net中,隐藏的控件不会呈现给浏览器,因此不存在于HTML中。
将此问题扩展到您的问题。您可以像在问题中一样使用Panel Control。
<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">LinkButton</asp:LinkButton>
<br />
<asp:Panel ID="Panel1" runat="server">
<p>Normal Content here...</p>
</asp:Panel>
这将以HTML格式呈现为
<div id="Panel1">
<p>Normal Content here...</p>
</div>
OnClick
事件为LinkButton1
,您可以更改Visibility
的{{1}}
Panel1