=.侍传说

有时飞翔也是一种坠落

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
现在Ajax的应用越来越广,它的好处在这里就不多说了。直接进入主题:
现在这方面技术主要有三种:
    1: Ajaxpro.net  2:   Atlas    3:   MagicAjax
    其中Atlas只能用于2.0下,另外两种适合于1.1   2.0 两种版本的都有。
下面的例子是在VS2003,.NET1.1下测试通过。

至于magicajax.dll的使用方法,我大至说一下:

1:当然先引入magicajax.dll  

2:在 webconfig增加下面的配置:

 <configSections>
      <section name="magicAjax"  type="MagicAjax.Configuration.MagicAjaxSectionHandler, MagicAjax"/>
    </configSections>
    <magicAjax outputCompareMode="HashCode" tracing="false" >
        <pageStore mode="NoStore"
   unloadStoredPage="false"
   cacheTimeout="5"
   maxConcurrentPages="5"
   maxPagesLimitAlert="false" />
    </magicAjax>
  <system.web>

<httpModules>
           <add name="MagicAjax" type="MagicAjax.MagicAjaxModule, MagicAjax" />
   </httpModules>
。。。。。。

。。。。。省略

 </system.web>

我们现在用一个repeater控件来做为一个显示数据的表格。还是先看页面的代码:

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="test_datagrid.WebForm1"%>
<%@ Register TagPrefix="ajax" Namespace="MagicAjax.UI.Controls" Assembly="MagicAjax" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    
<HEAD>
        
<title>WebForm1</title>
        
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
        
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
        
<meta content="JavaScript" name="vs_defaultClientScript">
        
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    
</HEAD>
    
<body MS_POSITIONING="GridLayout">
        
<form id="Form1" method="post" runat="server">
            
<FONT face="宋体">这是一个简单的用magicajax来实现无刷新分页的例子:(不足的地方,请大家见谅!)<br>
            
</FONT>
            
<ajax:ajaxpanel id="AjaxPanel1" runat="server">
                
<asp:Repeater id="Repeater1" runat="server">
                    
<HeaderTemplate>
                        
<table id="table1" Width="100%" cellspacing="0" cellSpacing="1" border="1" bordercolor="Gainsboro">
                            
<tr class="tr_head" align="Center" valign="Middle">
                                
<td Width="48">id</td>
                                
<td>text</td>
                            
</tr>
                    
</HeaderTemplate>
                    
<AlternatingItemTemplate>
                        
<tr align="Center" valign="Middle">
                            
<td align="Left"><%# DataBinder.Eval(Container, "DataItem.id"%></td>
                            
<td align="Left"><%# DataBinder.Eval(Container, "DataItem.text"%></td>
                        
</tr>
                    
</AlternatingItemTemplate>
                    
<ItemTemplate>
                        
<tr align="Center" valign="Middle">
                            
<td align="Left"><%# DataBinder.Eval(Container, "DataItem.id"%></td>
                            
<td align="Left"><%# DataBinder.Eval(Container, "DataItem.text"%></td>
                        
</tr>
                    
</ItemTemplate>
                    
<FooterTemplate>
                        
</TABLE>
                    
</FooterTemplate>
                
</asp:Repeater>
            
</ajax:ajaxpanel><ajax:ajaxpanel id="Ajaxpanel2" runat="server">
                
<TABLE cellSpacing="4" cellPadding="0" width="100%" border="0">
                    
<TR>
                        
<TD width="*"><SPAN id="pager1_l_page"><FONT color="red">
                                    
<asp:label id="nowpage" Runat="server" Visible="False" ForeColor="red" Width="0px"></asp:label></FONT>
                                
<asp:label id="totalpage" Runat="server" Visible="False" Width="0px"></asp:label>
                                
<asp:label id="totalrecord" Runat="server" Visible="False" Width="0px"></asp:label>
                                
<asp:label id="L_page" runat="server"></asp:label></SPAN></TD>
                        
<TD vAlign="middle" align="right" width="400">
                            
<asp:linkbutton id="linkf" title="首页" runat="server" CssClass="btncol">首页</asp:linkbutton>
                            
<asp:linkbutton id="Linkp" title="上一页" runat="server" CssClass="btncol">上一页</asp:linkbutton>
                            
<asp:linkbutton id="Linkn" title="下一页" runat="server" CssClass="btncol">下一页</asp:linkbutton>
                            
<asp:linkbutton id="Linkl" title="未页" runat="server" CssClass="btncol">未页</asp:linkbutton>&nbsp;跳转:
                            
<asp:textbox id="go1" Runat="server" Width="29px"></asp:textbox><asp:LinkButton id="Lgo" runat="server">GO</asp:LinkButton></TD>
                    
</TR>
                
</TABLE>
            
</ajax:ajaxpanel></form>
    
</body>
</HTML>

上面的代码没有什么好讲的,想必大家看一下就都懂的。主要的是后台的代码:

 

Imports System.Data.OleDb
Imports System.Data

Public Class WebForm1
    
Inherits System.Web.UI.Page
    
Dim connection As OleDbConnection
    
Const TNAME = "test"
    
Const dbname = "testmdb.mdb"
    
Protected WithEvents AjaxPanel1 As MagicAjax.UI.Controls.AjaxPanel
    
Protected WithEvents Repeater1 As System.Web.UI.WebControls.Repeater
    
Protected WithEvents nowpage As System.Web.UI.WebControls.Label
    
Protected WithEvents totalpage As System.Web.UI.WebControls.Label
    
Protected WithEvents totalrecord As System.Web.UI.WebControls.Label
    
Protected WithEvents L_page As System.Web.UI.WebControls.Label
    
Protected WithEvents linkf As System.Web.UI.WebControls.LinkButton
    
Protected WithEvents Linkp As System.Web.UI.WebControls.LinkButton
    
Protected WithEvents Linkn As System.Web.UI.WebControls.LinkButton
    
Protected WithEvents Linkl As System.Web.UI.WebControls.LinkButton
    
Protected WithEvents go1 As System.Web.UI.WebControls.TextBox
    
Protected WithEvents Lgo As System.Web.UI.WebControls.LinkButton
    
Protected WithEvents Ajaxpanel2 As MagicAjax.UI.Controls.AjaxPanel
    
Dim _PageCount As Integer
    
Dim _TotalCount As Integer


Web 窗体设计器生成的代码

    
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        
'在此处放置初始化页的用户代码
       
        BindRepeater(
51)
        nowpage.Text 
= 1

        pageset()


    
End Sub

有关数据库连接与操作
翻页
End Class

 我是用PageDateSource来做为数据源,呵原因当然是这个更方便应用于无刷新的分页。

文章的主要思想:是用session来存储显示的页面。用PageDateSource来做为数据源

posted on 2006-10-23 23:00  CCJ  阅读(505)  评论(0编辑  收藏  举报