Как я динамично показываю и скрываю весь TabContainer с помощью Dojo?

Исключения предназначаются для событий, которые являются аварийными поведениями, ошибками, отказами и таким. Функциональное поведение, пользовательская ошибка, и т.д., должно быть обработано логикой программы вместо этого. Начиная с плохой учетной записи или пароля ожидаемая часть логического потока в стандартной программе входа в систему, это должно быть в состоянии обработать те ситуации без исключений.

7
задан 11 August 2009 в 15:38
поделиться

5 ответов

вам следует сделать

dijit.byId("tabContainer").domNode.style.display = 'block'

или, возможно,

dijit.byId("tabContainer").domNode.style.visibility = 'hidden';

еще лучше

4
ответ дан 6 December 2019 в 08:45
поделиться

Что ж, я не решил эту проблему, но я нашел обходной путь ... Создание TabContainer для события щелчка вместо того, чтобы скрывать его при загрузке страницы и затем показывать его в событие щелчка.

HTML:

<div id="tabContainer">     
</div>

JS:

var tabContainer = new dijit.layout.TabContainer({id:"tabContainer", style:"width:500px;height:200px;"}, dojo.byId('tabContainer'));  
//add tabs
tabContainer.startup();
1
ответ дан 6 December 2019 в 08:45
поделиться

После того, как вы установили display: block, сделайте следующее:

dijit.byId('tabContainer').resize();

dijit.layout виджеты часто не размещаются должным образом, если они display: none (а иногда даже когда видимость: скрыто). Вы должны возиться с Firebug, пока не поймете, что работает!

t размещаются правильно, если они display: none (а иногда даже когда visibility: hidden). Вы должны возиться с Firebug, пока не поймете, что работает!

t размещаются правильно, если они display: none (а иногда даже когда visibility: hidden). Вам придется возиться с Firebug, пока не поймете, что работает!

1
ответ дан 6 December 2019 в 08:45
поделиться

Для этого есть решение. Если вы хотите показать TabContainer calll:

dijit.byId("tabContainer").domNode.style.display = 'block';
dijit.byId("tabContainer").resize();

и использовать «none», если хотите скрыть TabContainer.

Это работает для меня, но это правда, это не очевидно :)

8
ответ дан 6 December 2019 в 08:45
поделиться

Первое (установка style.display = "none" ) правильно. Вместо

... затем устанавливая style.display = "block"

, вы должны просто вызвать .set_visible JS-метод ajax TabContainer, когда «... пользователь нажимает кнопку», например:

$find('<%= Tabs.ClientID %>').set_visible(true);
0
ответ дан 6 December 2019 в 08:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: