Сделать панель видимой, используя JavaScript - PullRequest
2 голосов
/ 14 октября 2010

У меня есть Panel со свойством, Visible установлен в False

<asp:Panel ID="pnlUpload" runat="server" Visible="False" />

, и я пытаюсь сделать его видимым, используя JavaScript как код ниже

document.getElementById('<%= Panel1.ClientID %>').style.visibility = 'visible';

, но он не работаетидея, ребята?

Ответы [ 6 ]

8 голосов
/ 14 октября 2010

Параметр Visible = "false" отключает отображение панели в сгенерированном HTML. Если вы хотите, чтобы он отображался / скрывался на стороне клиента, вам нужно сделать его Visible = "true" и использовать класс CSS / в атрибуте стиля, имеющем свойство "display" со значением "block" или "none" в качестве требуется.

2 голосов
/ 14 октября 2010

Я отвечаю на это с нулевым опытом ASP, но большой опыт JS / HTML / CSS, так что терпите меня, если я полностью неправ ...

Я бы сказал, что тег Visible="False" не эквивалентен CSS style="visibility:hidden;", поэтому вызов JS не будет иметь никакого эффекта.

1 голос
/ 17 сентября 2014

Я пробовал .style.visibility = 'visible' и visible = "true" и .style.display = 'block' и .style.display = 'inline' все эти вещи не работают. но если вы напишите .style.display = 'none', это сработает. любое тело знает решение пожалуйста, дайте мне знать Спасибо

0 голосов
/ 01 апреля 2014

Для отображения элементов управления asp необходимо использовать свойство

ClientVisible

Пример:

<asp:Panel ID="someId" runat="server" ClientInstanceName="someIdClient" ClientVisible="False" />

Как упоминалось в предыдущем посте, атрибут

Visible="False"

приводит к тому, что элемент управления не отображается.

Чтобы получить доступ к скрытому элементу управления через Javascript, просто введите:

function myFunction(){ someIdClient.SetVisible(true) 
0 голосов
/ 14 октября 2010

Пожалуйста, поместите вашу панель в div и измените стиль, используя следующий способ

<div>
<asp:Panel ID="pnlUpload" runat="server" Visible="False" />
</div>

Javascript

function visible()
{
document.getElementById('<%=pnlUpload.ClientID %>').style.display = 'block'
}
0 голосов
/ 14 октября 2010

Я отвечаю с почти нулевым опытом ASP, как Flash84x :-)

Кажется, что в asp, когда вы устанавливаете "Visibile = false", панель не создается.

И если вы хотите использовать пользовательский JavaScript, а не средство .NET для отображения, скрыв панель, вы должны применить стиль непосредственно в теге, например так:

<asp:Panel id="pnlUpload" runat="server"
  Style="visibility:hidden;background-color:#CC9999; 

цвет: #FFFFFF; ширина: 200; высота: 200; граница: сплошная 1; утеплитель: 10" > .....

И тогда это будет что-то вроде этого в HTML :

<div id="pnlUpload" class="text" style="visibility:hidden;

цвет фона: # CC9999; цвет: #FFFFFF; ширина: 200; высота: 200; граница: сплошная 1; утеплитель: 10" > .....

</div>

И, конечно, соответствующий javascript будет:

<script language="JavaScript">
document.getElementById('pnlUpload').style.visibility = 'visible';
</script>
...