嘿伙计们我遇到了一个奇怪的问题..基本上,用户登录页面并根据他的角色状态(管理员或用户)确定他在tabcontainer中看到的标签数量。如果他只是一个“用户”,则需要隐藏选项卡索引0和1,因为它们只包含管理员功能。
这样做很简单:
if(user)
{
Container.Tabs[0].visible = false;
Container.Tabs[1].visible = false;
}
但问题是,如果我将多个选项卡索引设置为visible = false,则整个容器都会消失。这可能是个错误吗?我知道你一次只能看到一个标签。
有修复吗?或者我应该使用多视图?
谢谢,乔希
答案 0 :(得分:1)
看起来这可能是Ajax Control Toolkit的一个错误,我测试了最新版本(.net 3.5)并且能够重现问题。当将标签0设置为可见时,工具包似乎不喜欢它,其他可见/不可见标签的数量无关紧要。
我建议您通过以下方式解决这个问题:
if(user)
{
Container.Tabs.Remove(0);
Container.Tabs.Remove(1);
}
这具有相同的效果,并且由于您的选项卡是通过ASPX标记定义的,所以在没有删除调用的情况下执行回发将导致选项卡重新出现(如果由于某种原因需要重新显示它们)。
答案 1 :(得分:1)
Container.Tabs[0].enabled = false
这是我提出的最佳解决方案......