2016-11-18 1 views
0

У меня проблема, когда при нажатии кнопки панель не изменяется. В смысле ошибки. Я могу изменить панель, используя следующую гиперссылку.Как изменить панель html с помощью asp: LinkButton

<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

Поскольку 'LinkButton' является * server- side * control, поэтому его событие OnClick является * серверной стороной * и, следовательно, не может использовать JavaScript. Просто используйте элемент 'a', который у вас уже есть, если он работает. «LinkButton» отображает элемент 'a', поэтому нет никакой разницы. – David

ответ

2

Практически каждый элемент управления имеет 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; 
    } 
} 
Смежные вопросы