Проблема доступа к классу вкладок ASPX Bootstrap - PullRequest
0 голосов
/ 28 мая 2020

Я использую bootstrap nav-tabs, и у меня проблема: из кода программной части я не могу получить значение атрибута 'class' тега [li], когда он выбран. Всегда возвращается значение null. Вот мой aspx:

<!-- This is the js to prevent losing active tab after postback -->
<script type="text/javascript">
    $(function () {
        var tabName = $("[id*=TabName]").val() != "" ? $("[id*=TabName]").val() : "personal";
        $('#Tabs a[href="#' + tabName + '"]').tab('show');
        $("#Tabs a").click(function () {
            $("[id*=TabName]").val($(this).attr("href").replace("#", ""));
        });
    });
</script>
<div id="Tabs" role="tabpanel">
    <!-- Nav tabs -->
    <ul class="nav nav-tabs" role="tablist">
        <li runat="server" id="Tab1" role="tab">
            <a href="#personal" aria-controls="personal" role="tab" data-toggle="tab">Personal</a>
        </li>
        <li runat="server" id="Tab2" role="tab">
            <a href="#employment" aria-controls="employment" role="tab" data-toggle="tab">Employment</a>
        </li>
    </ul>
    <!-- Tab panes -->
    <div class="tab-content" style="padding-top: 20px">
        <div role="tabpanel" class="tab-pane active" id="personal">
            This is Personal Information Tab
        </div>
        <div role="tabpanel" class="tab-pane" id="employment">
            This is Employment Information Tab
        </div>
    </div>
</div>

<asp:Button ID="Button1" Text="Submit" runat="server" CssClass="btn btn-primary" OnClick="Button1_Click" />
<asp:HiddenField ID="TabName" runat="server" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
  • Код программной части:

protected void Button1_Click(object sender, EventArgs e)
{
    string cl1 = Tab1.Attributes["class"];
    string ro1 = Tab1.Attributes["role"];
    Label1.Text = "class of tab1: " + cl1 + "<br />role: " + ro1;
}
- Когда я нажимаю кнопку 1 при выбранной вкладке 1 -> Мои результаты отображаются на метке 1:
class of tab1: {nothing}
role: tab

Из того же тега [li] атрибут 'role' может быть получено, но 'class' имеет значение null. Я действительно понятия не имею об этом, потому что, когда я проверяю элемент, класс этого [li] является «активным», я пробовал поискать в Google, но не смог найти похожие вопросы. Пожалуйста, помогите мне с этим, спасибо !!!

1 Ответ

0 голосов
/ 28 мая 2020

<li runat="server" class="yourclass" id="yourid" >

Добавьте атрибут runat = "server" в свой элемент li, затем вызовите идентификатор li из своего кода, например, yourid.Attributes, и вы можете добавлять или удалять классы для элемента

...