Ext.NET:如何将TabPanel的首个Panel设置为默认显示面板
让第一个Panel成为页面加载后的默认显示面板
没问题,要实现这个需求很简单,你可以通过两种明确的方式确保第一个Panel在页面加载完成后自动激活显示:
方法1:给TabPanel设置ActiveTabIndex属性
直接在TabPanel上指定激活面板的索引(索引从0开始,第一个面板就是0),这是全局控制默认激活项的常用方式:
<ext:TabPanel ID="TabPanel1" runat="server" ActiveTabIndex="0"> <Items> <ext:Panel ID="panel1" runat="server" Title="面板1" Closable="false"> <Loader ID="Loader1" runat="server" Url="page1.aspx" Mode="Frame"> <LoadMask ShowMask="True" /> </Loader> </ext:Panel> <ext:Panel ID="panel2" runat="server" Title="面板2" Closable="false"> <Loader ID="Loader2" runat="server" Url="page2.aspx" Mode="Frame"> <LoadMask ShowMask="True" /> </Loader> </ext:Panel> <ext:Panel ID="panel3" runat="server" Title="面板3" Closable="false" Hidden="true"> <Loader ID="Loader3" runat="server" Url="page3.aspx" Mode="Frame"> <LoadMask ShowMask="True" /> </Loader> </ext:Panel> </Items> </ext:TabPanel>
方法2:给第一个Panel设置Active="true"属性
如果你想直接在目标面板上标记它为默认激活项,也可以给第一个Panel添加Active="true"属性:
<ext:TabPanel ID="TabPanel1" runat="server"> <Items> <ext:Panel ID="panel1" runat="server" Title="面板1" Closable="false" Active="true"> <Loader ID="Loader1" runat="server" Url="page1.aspx" Mode="Frame"> <LoadMask ShowMask="True" /> </Loader> </ext:Panel> <ext:Panel ID="panel2" runat="server" Title="面板2" Closable="false"> <Loader ID="Loader2" runat="server" Url="page2.aspx" Mode="Frame"> <LoadMask ShowMask="True" /> </Loader> </ext:Panel> <ext:Panel ID="panel3" runat="server" Title="面板3" Closable="false" Hidden="true"> <Loader ID="Loader3" runat="server" Url="page3.aspx" Mode="Frame"> <LoadMask ShowMask="True" /> </Loader> </ext:Panel> </Items> </ext:TabPanel>
补充说明
虽然默认情况下TabPanel会自动选中第一个可见的面板,但显式设置上述属性可以避免因为面板排序调整、隐藏状态变化等场景导致的意外问题,让代码逻辑更清晰可控。
内容的提问来源于stack exchange,提问作者S-Wing
相关产品推荐
相关产品推荐

