此控件启用了一个与可见行为完全相同的属性,即?.Enabled = false隐藏控件。
我需要能够保持所有的选项卡可见,但一些要在代码控制下禁用。
有什么关于我如何实现这一点的提示吗?谢谢。
发布于 2011-09-05 22:52:57
尝试为TabPanel设置Enabled属性。
<ajaxToolkit:TabContainer
ID="TabContainer1" runat="server" ActiveTabIndex="0">
<ajaxToolkit:TabPanel ID="TabPanel1" runat="server" HeaderText="TabPanel1"></ajaxToolkit:TabPanel>
<ajaxToolkit:TabPanel ID="TabPanel2" runat="server" HeaderText="TabPanel2"></ajaxToolkit:TabPanel>
<ajaxToolkit:TabPanel ID="TabPanel3" Enabled="False" runat="server" HeaderText="TabPanel3"></ajaxToolkit:TabPanel>
</ajaxToolkit:TabContainer>或者在代码隐藏中,
TabContainer1.Tabs[0].Enabled = false;发布于 2011-09-13 04:34:09
以下是使用客户端脚本的一种可能的解决方案。基本上,处理TabContainer的OnClientActiveTabChanged事件(只要更改活动选项卡就会触发)。然后,如果该选项卡是您不希望用户使用的选项卡,请将TabContainer的ActiveTabIndex属性更改回可接受的值。
选项卡容器:
<asp:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="1"
Height="126px" Width="400px" ClientIDMode="Predictable"
onclientactivetabchanged="tabClickCheck" >
<asp:TabPanel ID="TabPanel1" runat="server" HeaderText="TabPanel1">
</asp:TabPanel>
<asp:TabPanel ID="TabPanel2" runat="server" HeaderText="TabPanel2">
</asp:TabPanel>
<asp:TabPanel ID="TabPanel3" runat="server" HeaderText="TabPanel3">
</asp:TabPanel>
</asp:TabContainer>Javascript处理程序:
<script type="text/javascript">
function tabClickCheck() {
var tabCont = document.getElementById("<%=TabContainer1.ClientID %>").control;
var tabInd = tabCont.get_activeTabIndex();
tabCont.set_activeTabIndex(2);
}
</script>这个函数只是将ActiveTabIndex设置为2,而不管您单击的是哪个选项卡(您会注意到我也会获得当前的ActiveTabIndex,但我不会对它做任何事情--这只是为了向您展示如何操作)。显然,使用对您的应用程序有意义的任何逻辑=)
https://stackoverflow.com/questions/7309463
复制相似问题