C# Boostrap选项卡选项卡窗格不工作

C# Boostrap选项卡选项卡窗格不工作,c#,jquery,asp.net,twitter-bootstrap,tabpanel,C#,Jquery,Asp.net,Twitter Bootstrap,Tabpanel,在.aspx页面中,我有两个选项卡:Acct和HR 在代码隐藏中,我有以下条件: 如果用户是账户,则仅显示账户选项卡(隐藏人力资源选项卡和导航) 否则,如果用户为人力资源,则仅显示人力资源选项卡(隐藏帐户选项卡和导航) 否则(如果用户不是Acct和Hr),则同时显示选项卡和导航菜单(我希望Acct将首先是活动的) 因此,案例1和案例2工作正常 但是案例3(需要同时显示选项卡和导航以及所有内容),我遇到了问题:导航(li)工作正常(当我点击它时,它确实显示正确的CSS),但是选项卡(内容)总是

在.aspx页面中,我有两个选项卡:Acct和HR

在代码隐藏中,我有以下条件:

  • 如果用户是账户,则仅显示账户选项卡(隐藏人力资源选项卡和导航)
  • 否则,如果用户为人力资源,则仅显示人力资源选项卡(隐藏帐户选项卡和导航)
  • 否则(如果用户不是Acct和Hr),则同时显示选项卡和导航菜单(我希望Acct将首先是
    活动的
因此,案例1和案例2工作正常

但是案例3(需要同时显示选项卡和导航以及所有内容),我遇到了问题:导航(
li
)工作正常(当我点击它时,它确实显示正确的CSS),但是选项卡(内容)总是显示Acct选项卡,当我点击HR
li
时,不会更改为HR选项卡

下面是案例#3的图片,因此在我设置的第#页load()代码中,它首先显示Acct选项卡:

切换到“人力资源”选项卡时,导航菜单会更改,但“内容”选项卡保持不变:

反之亦然,如果我将HR设置为
活动的
,那么当我切换到Acct时,它将不显示Acct选项卡内容,继续显示HR选项卡内容

以下是标记代码和C#代码:


这是Acct内容 这是人力资源部的内容
在页面_load()中:

if(!IsPostBack)
{
Page.Title=“Page”;
字符串managerEmail=HttpContext.Current.User.Identity.Name.ToLower();

如果(requestDAL.GetManagerLevel_byEmail(managerEmail)Asp.net更改了客户端的所有服务器端控件ID。您只需使用即可获得正确的标记ID:

<a class="no-margin" href="#<%= tabAcct.ClientID %>" data-toggle="tab">

<a class="no-margin" href="#<%= tabHR.ClientID %>" data-toggle="tab">


默认情况下激活人力资源时会发生什么情况?
nav li
是否适用于Acct?@Shaharyar同样的事情,如果我先激活人力资源,然后
nav li
适用于Acct,但不会显示Acct的选项卡内容,只显示人力资源内容。浏览器控制台中是否有任何错误?@Shaharyar在我单击之前和之后都没有错误。I t在JSFIDLE中保存代码,效果很好。尝试将
href
替换为
数据目标
,然后再次检查。我还有一个小问题:当我单击导航菜单/标题时,url为什么不显示哈希(例如:#tabAcct或#tabHR),因为我想知道哪个选项卡当前处于活动状态,以便在发生
回发事件时可以检索它
if (!IsPostBack)
            {
                Page.Title = "Page";
                string managerEmail = HttpContext.Current.User.Identity.Name.ToLower();
                if (requestDAL.GetManagerLevel_byEmail(managerEmail) <= 1)
                {
                    // Shows HR tab
                    liHR.Attributes["class"] = "active";
                    tabHR.Attributes["class"] = "tab-pane active";

                    // Hide Acct tab
                    liAcct.Visible = false;
                    liAcct.Visible = false;
                    panelAcct.Visible = false;

                }
                else if (requestDAL.GetManagerLevel_byEmail(managerEmail) == 2)
                {
                    // Shows ACCT tab
                    liAcct.Attributes["class"] = "active";
                    tabAcct.Attributes["class"] = "tab-pane active";

                    // Hide HR tab
                    liHR.Visible = false;
                    liHR.Visible = false;
                    panelHR.Visible = false;
                }
                else
                {
                    liAcct.Attributes["class"] = "active";
                    tabAcct.Attributes["class"] = "tab-pane active";

                }

            }
<a class="no-margin" href="#<%= tabAcct.ClientID %>" data-toggle="tab">

<a class="no-margin" href="#<%= tabHR.ClientID %>" data-toggle="tab">