(近期会连续更新有关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();
}