Ext.Net.Panel的Loader属性实现引用页面。
(近期会连续更新有关Ext.Net 控件的一些资料,与大家分享,有兴趣或者最近也在研究这方面知识的朋友可以加关注!!!)
Panel通过Loader方式,调用页面作为内容加载。
其中,要注意的几个关键点:
- 1、2处页面中的ResourceManager的ID名必须相同。
- 2、2处页面中的使用到(除ResourceManager控件外)的其他控件ID名不能重复。
- 3、主页面中的点击事件方法,随便采用哪种方式都是可以的。
- 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(); }