Практически каждый элемент управления имеет Visibility property. Это свойство можно задать на странице ASPX в самом Control
<asp:Label ID="Label1" runat="server" Text="Label" Visible="false"></asp:Label>
Свойство также может быть установлено в коде
Label1.Visible = false;
Свойство видимости работает иначе, чем с JavaScript и CSS. Обычно, если вы определяете класс CSS с display:none
, например, вы не увидите его в браузере, но он существует. Если вы посмотрите на HTML, вы можете найти его.
Но в asp.net скрытый элемент управления не отображается в браузере и, следовательно, не существует в HTML.
Чтобы развернуть это на свой вопрос. Панель управления может использоваться, как вы спрашиваете в своем вопросе.
<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
из Panel1
protected void LinkButton1_Click(object sender, EventArgs e)
{
if (Panel1.Visible == false)
{
Panel1.Visible = true;
}
else
{
Panel1.Visible = false;
}
}
Поскольку 'LinkButton' является * server- side * control, поэтому его событие OnClick является * серверной стороной * и, следовательно, не может использовать JavaScript. Просто используйте элемент 'a', который у вас уже есть, если он работает. «LinkButton» отображает элемент 'a', поэтому нет никакой разницы. – David