C# Boostrap选项卡选项卡窗格不工作
在.aspx页面中,我有两个选项卡:Acct和HR 在代码隐藏中,我有以下条件: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),但是选项卡(内容)总是
- 如果用户是账户,则仅显示账户选项卡(隐藏人力资源选项卡和导航)
- 否则,如果用户为人力资源,则仅显示人力资源选项卡(隐藏帐户选项卡和导航)
- 否则(如果用户不是Acct和Hr),则同时显示选项卡和导航菜单(我希望Acct将首先是
活动的
)
li
)工作正常(当我点击它时,它确实显示正确的CSS),但是选项卡(内容)总是显示Acct选项卡,当我点击HRli
时,不会更改为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">