我看过 Ext.net 的示例站点,其中每个新页面都作为选项卡/页面添加到 TabPanel 控件中。
取而代之的是,我希望有一个 TabPanel,它只有一个选项卡/面板,可以显示页面的内容。我已经复制了我现有的代码
- 树形面板定义
- CodeBehind 从 SiteMap 填充 TreePanel 数据
- TabPanel 定义
在这种情况下,如何在“MainPanel”控件中加载 URL?
树形面板定义
<ext:TreePanel ID="MenuTree" runat="server" Height="300" Width="250" UseArrows="true"
AutoScroll="true" Animate="true" EnableDD="true" ContainerScroll="true" RootVisible="false">
<TopBar>
<ext:Toolbar runat="server">
<Items>
<ext:ToolbarTextItem runat="server" Text="<%$Resources:OneResource, Search %>" />
<ext:ToolbarSpacer />
<ext:TriggerField ID="TriggerField1" runat="server" EnableKeyEvents="true">
<Triggers>
<ext:FieldTrigger Icon="Clear" />
</Triggers>
<Listeners>
<KeyUp Fn="filterTree" Buffer="250" />
<TriggerClick Handler="clearFilter();" />
</Listeners>
</ext:TriggerField>
<ext:ToolbarSpacer />
<ext:LinkButton ID="PreviewLinkButton" runat="server" Text="<%$Resources:OneResource, Preview %>" />
</Items>
</ext:Toolbar>
</TopBar>
</ext:TreePanel>
CodeBehind 从 SiteMap 填充 TreePanel 数据
protected void Page_Load(object sender, EventArgs e)
{
Ext.Net.TreeNode root = this.CreateNode(SiteMap.RootNode);
root.Draggable = false;
root.Expanded = true;
MenuTree.Root.Add(root);
MenuTree.ExpandAll();
}
/// <summary>
/// Creates nodes from sitemap data
/// </summary>
/// <param name="siteMapNode">Pass the root node of Web.sitemap</param>
/// <returns></returns>
private Ext.Net.TreeNode CreateNode(SiteMapNode siteMapNode)
{
Ext.Net.TreeNode treeNode = new Ext.Net.TreeNode();
treeNode.NodeID = siteMapNode.Key;
treeNode.Text = siteMapNode.Title;
treeNode.Qtip = siteMapNode.Description;
treeNode.Href = siteMapNode.Url;
treeNode.Icon = this.GetIcon(siteMapNode["menuId"].ToString());
SiteMapNodeCollection children = siteMapNode.ChildNodes;
if (children != null && children.Count > 0)
{
foreach (SiteMapNode mapNode in siteMapNode.ChildNodes)
{
treeNode.Nodes.Add(this.CreateNode(mapNode));
}
}
return treeNode;
}
TabPanel 定义
<ext:TabPanel ID="ContentTabPanel" runat="server" Region="Center" Margins="0 4 4 0" EnableTabScroll="true"
MinTabWidth="85">
<Items>
<ext:Panel ID="MainPanel" runat="server" Title="<%$Resources:OneResource, Dashboard %>"
Icon="Application">
<AutoLoad Mode="IFrame" Url="~/Admin/Index.aspx" ShowMask="false" />
</ext:Panel>
</Items>
<Plugins>
<ext:TabCloseMenu runat="server" />
</Plugins>
</ext:TabPanel>