【编者按】网学网ASP.net频道为大家收集整理了“AjaxPanel自定义控件实现无刷新页面数据交互“提供大家参考,希望对大家有所帮助!
(一) . 简要
AjaxPanel, 一个自定义控件, 只要在页面中将AjaxPanel作为父控件, 则它内部的控件在运行时无刷新.
做了个程序试了一下果然比较Cool ! 下面介绍一下具体配置, 配置也比较简单.
(二). 运行示例图
(三). 配置
1. 把 AjaxPanel 添加到工具箱中. 步骤如下:
2. 在Web.Config文件的: <configuration> 节,添加如下配置:
1 <configSections>
2
<section name="magicAjax" type="MagicAjax.Configuration.MagicAjaxSectionHandler, MagicAjax"/>3
</configSections>
4
<magicAjax outputCompareMode="HashCode" tracing="false">
5
<pageStore mode="NoStore" unloadStoredPage="false" cacheTimeout="5" maxConcurrentPages="5" maxPagesLimitAlert="false"/>6
</magicAjax>
7 <configSections>1
<system.web>
2
<httpModules>
3
<add name="MagicAjax" type="MagicAjax.MagicAjaxModule, MagicAjax"/>
4
</httpModules>
5
<system.web>(四). 做了上面几步配置后, 下面就可以使用了, 示例代码也非常简单, 具体如下:
1.前台页面文件 Magicajax.aspx 代码如下:
1 <body>
2 <form id="form1" runat="server">
3 <div>
4 <ajax:AjaxPanel ID="AjaxPanel1" runat="server" Font-Bold="True">
5 <asp:Panel ID="Panel1" runat="server" Font-Size="XX-Large" Height="45px" Width="273px">
6 AjaxPanel example</asp:Panel>
7 <br />
8 <asp:Button ID="Button1" runat="server" BackColor="#FFC080" Height="26px" OnClick="Button1_Click"
9 Text="CreateData" Width="85px" />
10
11 <asp:Button ID="Button2" runat="server" BackColor="#FFC080" Height="26px" Text="ClearData"
12 Width="73px" /><br />
13 <br />
14 <asp:GridView ID="GridView1" runat="server" BackColor="White" BorderColor="#E7E7FF"
15 BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Horizontal">
16 <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
17 <RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
18 <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
19 <PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
20 <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
21 <AlternatingRowStyle BackColor="#F7F7F7" />
22 </asp:GridView>
23 </ajax:AjaxPanel>
24
25 </div>
26 </form>
27 </body> 2.后台页面文件 Magicajax.aspx.cs 代码如下:
1 public partial class _Default : System.Web.UI.Page
2 {
3 protected void Page_Load(object sender, EventArgs e)
4 {
5
6 }
7 private DataTable CreateStructure()
8 {
9 DataTable dt = new DataTable();
10 dt.Columns.Add(new DataColumn("CategoryID", typeof(int)));
11 dt.Columns.Add(new DataColumn("CategoryName", typeof(string)));
12 dt.Columns.Add(new DataColumn("Price", typeof(int)));
13 return dt;
14 }
15 public DataSet CreateData()
16 {
17 DataSet ds = new DataSet();
18 DataTable dt = this.CreateStructure();
19
20 DataRow drNew = dt.NewRow();
21 drNew = dt.NewRow();
22 drNew["CategoryID"] = 1;
23 drNew["CategoryName"] = "Apple";
24 drNew["Price"] = 2;
25 dt.Rows.Add(drNew);
26
27 drNew = dt.NewRow();
28 drNew["CategoryID"] = 2;
29 drNew["CategoryName"] = "Banana";
30 drNew["Price"] = 3;
31 dt.Rows.Add(drNew);
32
33 drNew = dt.NewRow();
34 drNew["CategoryID"] = 3;
35 drNew["CategoryName"] = "Orange";
36 drNew["Price"] = 1;
37 dt.Rows.Add(drNew);
38
39 drNew = dt.NewRow();
40 drNew["CategoryID"] = 4;
41 drNew["CategoryName"] = "Radish";
42 drNew["Price"] = 2;
43 dt.Rows.Add(drNew);
44
45 drNew = dt.NewRow();
46 drNew["CategoryID"] = 5;
47 drNew["CategoryName"] = "Pen";
48 drNew["Price"] = 3;
49 dt.Rows.Add(drNew);
50
51 drNew = dt.NewRow();
52 drNew["CategoryID"] = 6;
53 drNew["CategoryName"] = "Pencil";
54 drNew["Price"] = 7;
55 dt.Rows.Add(drNew);
56
57 drNew = dt.NewRow();
58 drNew["CategoryID"] = 7;
59 drNew["CategoryName"] = "Ruler";
60 drNew["Price"] = 3;
61 dt.Rows.Add(drNew);
62
63 drNew = dt.NewRow();
64 drNew["CategoryID"] = 8;
65 drNew["CategoryName"] = "Eraser";
66 drNew["Price"] = 5;
67 dt.Rows.Add(drNew);
68
69 ds.Tables.Add( dt );
70 return ds;
71 }
72 protected void Button1_Click(object sender, EventArgs e)
73 {
74 this.GridView1.DataSource = this.CreateData();
75 this.DataBind();
76 }
77 }