Проблема в том, чтобы сделать вкладку jquery видимой и невидимой с классом Css на главной странице asp.net - PullRequest
0 голосов
/ 14 апреля 2010

На главной странице asp.net я установил следующие вкладки jquery.

<ul>            
                    <li <%= Session["CurrentTab"] == "Firsttab" ? "class=\"current\"" : "" %>><a href="First.aspx">First</a></li>
                    <li <%= Session["CurrentTab"] == "Secondtab" ? "class=\"current\"" : "" %>><a href="Second.aspx">Second</a></li>
                    <li <%= Session["CurrentTab"] == "Thirdtab" ? "class=\"current\"" : "" %>><a href="Third.aspx">Third</a></li>
                    <li <%= Session["CurrentTab"] == "Fourthtab" ? "class=\"current\"" : "" %>><a href="Fourth.aspx">Fourth</a></li>
                    <li id="bsearch" style="margin-left:500px" class=<%= Session["CurrentTab"] == "Fifthtab" ? "current" : "hide" %>><a href="Fifth.aspx">Fifth <asp:Literal ID="Lblcount" runat="server" Visible="false"></asp:Literal><span id="removebtn" class="removetab ui-icon ui-icon-circle-close" style="float:right; margin: -2px -10px 0px 3px; cursor:pointer;"></span></a></li>

                </ul>

эти вкладки работают в режиме jquery ajax. Я устанавливаю значение сеанса ["CurrentTab"] в загрузке страниц страниц First.aspx, Second.aspx, Third.aspx, Fourth.aspx, Fifth.aspx на соответствующие значения .На основании этого значения соответствующая вкладка подсвечивается при нажатии на эту конкретную страницу. Первые 4 вкладки (первая, вторая, третья, четвертая) будут видимы по умолчанию, тогда как пятая вкладка невидима.

У меня есть кнопка поиска на главной странице, нажав на которую, с любой страницы можно будет перенаправить пользователя на Fifth.aspx, где я также делаю пятую вкладку видимой.

Эта пятая вкладка должна быть закрыта после нажатия кнопки «x», которая появляется рядом с заголовком вкладки.

Как только эта пятая вкладка станет видимой, если пользователь не нажмет на «х», ее следует оставить видимой вместе с другими вкладками на всех страницах (First.aspx, Second.aspx, Third.aspx, Fourth.aspx, Fifth. aspx). Но в настоящее время, если я покидаю пятую страницу .aspx и перехожу на другие страницы, вкладка «Пятая» становится невидимой, поскольку для сеанса [«CurrentTab»] больше не устанавливается значение «Пятый вклад», а вкладка скрыта в соответствии с class=<%= Session["CurrentTab"] == "Fifthtab" ? "current" : "hide" %> сеанс, который я пишу для этой вкладки.

Я хочу заменить класс чем-то вроде этого

 class=<%= Session["CurrentTab"] == "Fifthtab" ? "current" : "default" %>

где 'default' соответствует style = "display: block";

Я пытался сделать это нажатием кнопки поиска на главной странице, используя javascript, но он не работает.

Может ли кто-нибудь помочь мне достичь этого?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Это, очевидно, очень поздно , но вот простой хак, который я недавно использовал.

Таким образом, вы можете добиться скрытия вкладки, просто используя атрибут CSS Display.

display: none;

В встроенном стиле более чем достаточно внутри вашего элемента списка.

<li style="display:none;"><a href="SomeTargetView">Example</a></li>

Теперь давайте определим вашу кнопку поиска, которая будет ссылаться на функцию JavaScript. Эта функция, в свою очередь, активирует вашу вкладку.

Вот код для кнопки поиска:

<a href="javascript:;" onclick="tabActivator()" class="some button classes">Edit my profile</a>

Теперь, чтобы добиться активации определенной вкладки при нажатии, мы можем написать небольшую функцию JavaScript.

function tabActivator(){
    $("#tabs").tabs("option", "active", 4);
    return false;
}

Здесь мы активируем 5-ю вкладку, считая с 0, следовательно, 4.

Так что для вашего конкретного случая я предполагаю, что кнопка и функция JS соответствуют указанным, но список будет выглядеть так:

<ul>
    <li <%= Session["CurrentTab"] == "Firsttab" ? "class=\"current\"" : "" %>><a href="First.aspx">First</a></li>
    <li <%= Session["CurrentTab"] == "Secondtab" ? "class=\"current\"" : "" %>><a href="Second.aspx">Second</a></li>
    <li <%= Session["CurrentTab"] == "Thirdtab" ? "class=\"current\"" : "" %>><a href="Third.aspx">Third</a></li>
    <li <%= Session["CurrentTab"] == "Fourthtab" ? "class=\"current\"" : "" %>><a href="Fourth.aspx">Fourth</a></li>
    <li style="display:none;"<%= Session["CurrentTab"] == "Fifthtab" ? "class=\"current\"" : "" %>><a href="Fifth.aspx">Fifth</a></li>
</ul>

Код для скрытия и раскрытия вашего окна поиска может быть выполнен с помощью некоторого JavaScript в рамках той же функции, что и выше.

Возможно, вам больше не нужен этот ответ, но любой, кто хочет активировать скрытую вкладку из вкладки , может сделать это следующим образом.

0 голосов
/ 14 апреля 2010

Одним из выходов является использование скрытого поля для сохранения статуса пятой вкладки. Поэтому, как только появится пятая вкладка, установите скрытую переменную. Аналогично, когда пользователь нажимает кнопку x, установите переменную.

Вы можете получить доступ к скрытой переменной с именем 'hdnFifthTabStatus' как

$('input[id$="hdnFifthTabStatus"]').val();  

Теперь, если это так: добавить display: block на пятую вкладку css, иначе добавить display: none.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...