Ext.Net.Panel的Loader属性实现引用页面。

(近期会连续更新有关Ext.Net 控件的一些资料,与大家分享,有兴趣或者最近也在研究这方面知识的朋友可以加关注!!!)

Panel通过Loader方式,调用页面作为内容加载。
其中,要注意的几个关键点:

  1. 1、2处页面中的ResourceManager的ID名必须相同。
  2. 2、2处页面中的使用到(除ResourceManager控件外)的其他控件ID名不能重复。
  3. 3、主页面中的点击事件方法,随便采用哪种方式都是可以的。
  4. 4、子页面中的点击事件方式,必须在事件方式中指向当前页面名称。

主页面:

<ext:ResourceManager ID="ResourceManager1" runat="server">
    </ext:ResourceManager>
    <ext:Panel ID="Panel1" runat="server" Title="Parent" Height="300" Width="500">
        <Items>
            <ext:Button ID="Button1" runat="server" Text="Button1" OnDirectClick="btn1_Click">
            </ext:Button>
         
        </Items>
        <Loader ID="Loader1" runat="server" Url="Child.aspx" Mode="Html" Scripts="true" />
        <Buttons>
            <ext:Button ID="Button2" runat="server" Text="Button2" OnDirectClick="btn2_Click" />
        </Buttons>
    </ext:Panel>

 后台代码:

protected void btn2_Click(object sender, DirectEventArgs e)
        {
          
            Panel1.Loader.Visible = false;
            Panel1.Update();
        }

        protected void btn1_Click(object sender, DirectEventArgs e)
        {
            Panel1.Loader.Visible = true;
            Panel1.Update();
        }

 子页面:

<ext:ResourceManager ID="ResourceManager1" runat="server" RenderScripts="None">
    </ext:ResourceManager>
    <ext:Panel ID="Panel2" runat="server" Title="Child" Width="300" Height="185" Frame="true">
        <Items>
            <ext:Label ID="Label2" runat="server" />
        </Items>
        <Buttons>
            <ext:Button ID="btnChild" runat="server" Text="Submit [DirectEvent]">
                <DirectEvents>
                    <Click OnEvent="btnChild_Click" Url="Child.aspx" />
                </DirectEvents>
            </ext:Button>
            <ext:Button ID="Button1" IDMode="Ignore" runat="server" Text="Submit [DirectMethod]">
                <Listeners>
                    <Click Handler="App.direct.ButtonClickChild({ url: 'Child.aspx' });" />
                </Listeners>
            </ext:Button>
        </Buttons>
    </ext:Panel>

 后台代码:

 protected void btnChild_Click(object sender, DirectEventArgs e)
        {
            this.Label2.Text = "Child [DirectEvent]: " + DateTime.Now.ToLongTimeString();
            X.Msg.Alert("DirectEvent", "Child Button Clicked").Show();
        }

        [DirectMethod]
        public void ButtonClickChild()
        {
            this.Label2.Text = "Child [DirectMethod]: " + DateTime.Now.ToLongTimeString();
            X.Msg.Alert("DirectMethod", "Child Button Clicked").Show();
        }

 

posted @ 2013-05-09 13:19  陈海波  阅读(2197)  评论(2编辑  收藏  举报