Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 外部净负荷树面板';s Href位于选项卡面板中_C#_Asp.net_Ext.net - Fatal编程技术网

C# 外部净负荷树面板';s Href位于选项卡面板中

C# 外部净负荷树面板';s Href位于选项卡面板中,c#,asp.net,ext.net,C#,Asp.net,Ext.net,我看过Ext.net的示例站点,其中每个新页面都作为TabPanel控件中的选项卡/页面添加 相反,我希望有一个TabPanel,其中只有一个tab/panel可以显示页面的内容。我已复制了我的现有代码 树面板定义 CodeBehind从站点地图填充树面板数据 选项卡面板定义 在这种情况下,如何在控件“MainPanel”中加载URL 树面板定义 <ext:TreePanel ID="MenuTree" runat="server" Height="300" Width="250" U

我看过Ext.net的示例站点,其中每个新页面都作为TabPanel控件中的选项卡/页面添加

相反,我希望有一个TabPanel,其中只有一个tab/panel可以显示页面的内容。我已复制了我的现有代码

  • 树面板定义
  • CodeBehind从站点地图填充树面板数据
  • 选项卡面板定义
在这种情况下,如何在控件“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>
<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>

从站点地图填充树面板数据的代码隐藏

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;
}
受保护的无效页面加载(对象发送方,事件参数e)
{
Ext.Net.TreeNode root=this.CreateNode(SiteMap.RootNode);
root.Draggable=false;
root.Expanded=true;
MenuTree.Root.Add(Root);
MenuTree.ExpandAll();
}
/// 
///从站点地图数据创建节点
/// 
///传递Web.sitemap的根节点
/// 
私有Ext.Net.TreeNode CreateNode(SiteMapNode SiteMapNode)
{
Ext.Net.TreeNode TreeNode=新的Ext.Net.TreeNode();
treeNode.NodeID=siteMapNode.Key;
Text=siteMapNode.Title;
treeNode.Qtip=siteMapNode.Description;
treeNode.Href=siteMapNode.Url;
treeNode.Icon=this.GetIcon(siteMapNode[“menuId”].ToString());
SiteMapNodeCollection子节点=siteMapNode.ChildNodes;
if(children!=null&&children.Count>0)
{
foreach(SiteMapNode.ChildNodes中的SiteMapNode mapNode)
{
添加(this.CreateNode(mapNode));
}
}
返回树节点;
}
选项卡面板定义

<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>
<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>

您可以通过两种方式执行此操作:

1) 客户端:

MainPanel.autoLoad.url = 'http://www.someurl.com';
MainPanel.reload();
2) 通过服务器端的DirectEvent或DirectMethod:

MainPanel.AutoLoad.Url = "http://www.someurl.com";
MainPanel.Reload();

下面的示例演示了它(“加载谷歌”按钮)

在哪种情况下,我应该使用上述选项?