Включить отключение вкладок в контейнере вкладок - PullRequest
1 голос
/ 01 сентября 2010

У меня есть контейнер вкладок на странице aspx, и я хочу включить отключить последнюю вкладку на странице aspx, мой контейнер вкладок похож на ниже

<asp:TabContainer runat="server" ID="tabContainer">
<asp:TabPanel runat="server" ID="tabSettings" HeaderText="Settings">
<HeaderTemplate>Settings</HeaderTemplate>
<ContentTemplate>
<spsp:SlidingParametersSettingsPage ID="SlidingParametersSettingsPage" runat="server" />
</ContentTemplate>
</asp:TabPanel>
<asp:TabPanel runat="server" ID="tabRegionSelectionSettings" HeaderText="Exclude / Include Regions">
<HeaderTemplate>Exclude / Include Regions</HeaderTemplate>
<ContentTemplate>
<rssp:RegionSelectionSettingsPage ID="RegionSelectionSettingsPage" runat="server" />
</ContentTemplate>
</asp:TabPanel>
<asp:TabPanel runat="server" ID="tabAdvanceSettings" HeaderText="Advance Settings">
<HeaderTemplate>Advance Settings</HeaderTemplate>
<ContentTemplate>
<sfpsp:SmokeFireParametersSettingsPage ID="SmokeFireParametersSettingsPage" runat="server" />
<ssp:SakbotSettingsPage ID="SakbotSettingsPage" runat="server" />
</ContentTemplate>
</asp:TabPanel>
</asp:TabContainer>

<script language="javascript" type="text/javascript">
    $find('<%=tabContainer.ClientID%>').get_tabs()[2].set_enabled(false);
</script>

Теперь для отключения последней вкладки я использовал следующее в коде загрузки страницы:

//tabAdvanceSettings.Enabled = false;

Я также хочу включить эту панель вкладок на стороне клиента, когда пользователь использует снимок, например Ctrl + Shif + A, как показано ниже, но этот ярлык включает только вкладку, а не два пользовательских элемента управления, присутствующих в последней вкладке. Код для включения последней вкладки:

if (e.keyCode == 65 && isCtrl == true && isShift == true) // Ctrl + Shift + A
{
    $find('<%=tabContainer.ClientID%>').get_tabs()[2].set_enabled(true);            
}

Как включить последнюю вкладку, а также элементы управления, присутствующие на последней вкладке?

Ответы [ 2 ]

2 голосов
/ 01 сентября 2010

Когда вы отключите вкладку со стороны сервера, она отключит все дочерние элементы, составляющие сторону сервера. Итак, что вам нужно сделать, это запустить загрузочный java-скрипт, чтобы отключить вкладку на стороне клиента. На стороне сервера tab и все его дочерние элементы управления всегда остаются в активированном состоянии.

1 голос
/ 15 ноября 2011

Я решил проблему, поместив следующий код в javascript в конце страницы перед </asp:content>

var tc = document.getElementById('<%= tabContainer.ClientID %>'); tc.firstChild.childNodes[2].style.visibility = "hidden";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...