客户端回调实现gridView无刷新分页

由于客户对速度和性能上的要求越来越变态,而数据量一天天的庞大,因此本人产生了数据的查询和分页完全由客户端回调来实现。想法看上去复杂,实现起来也不难。废话不多说,看程序吧。

一、存储过程

包头:

create or replace package H_QUERYPACK  is

  
--  Author  : Evorul
  
--  Created :  2007 - 3 -29
  
--  Purpose : 查询机构表
  
  
--  Public type declarations
  type MYCURSOR 
is  REF CURSOR;
   PROCEDURE QUERYLOG (RET_CURSOR OUT MYCURSOR,ERRORCODE OUT INT,p_logID int,p_StartTime Date,p_EndTime Date,p_Operator varchar2 ,p_OrderField varchar2 ,
      p_Desc 
int,p_PageSize Int,p_PageIndex Int,p_RecordCount Out Int);

end H_QUERYPACK;

 

包体:

    create   or   replace  package body H_QUERYPACK  Is
  
--  Author  : Evorul
   --  Created : 2007-3-29
   --  Purpose : 查询
  
  
--  查询公司,分页用
    PROCEDURE  QUERYLOG (RET_CURSOR OUT MYCURSOR,ERRORCODE OUT  INT ,p_logID  int ,p_StartTime Date,p_EndTime Date,p_Operator  varchar2  ,p_OrderField  varchar2  ,
      p_Desc 
int ,p_PageSize  Int ,p_PageIndex  Int ,p_RecordCount Out  Int )
      
AS
     v_sql 
varchar2 ( 3000 );
    v_sqlcount 
varchar2 ( 3000 );
    v_orderfield 
varchar2 ( 100 );
    v_order 
VARCHAR2 ( 5 );  -- 顺序
    v_count  int ;
    v_heiRownum 
int ;
    v_lowRownum 
int ;
   
BEGIN
        ERRORCODE:
= 0 ;

        v_sql:
= ' select * from LOG Where 1=1  ' ;

        
if (p_logID  <>   0 ) then
            v_sql :
=  v_sql  ||   '   and id =  '   ||  TO_CHAR(p_logID);
        
end   if ;

         
IF  p_Operator  Is   Not   Null   Then   then
                v_sql :
=  v_sql  ||   ' And operator LIKE  '' % '   ||   RTRIM ( LTRIM (p_Operator)) || ' % ''' ;        
          
end   if ;

          v_sql :
=  v_sql  || '  and (TO_CHAR(time, '' YYYYMMDD '' ) between  '''   ||  to_char(p_StartTime,  ' YYYYMMDD ' || '''  and  '''   ||  to_char(p_EndTime,  ' YYYYMMDD ' || ''' ) ' ;


          
       
-- --取记录总数
      v_sqlcount : =   ' select count(*) from ( '   ||  v_sql  ||   ' ) ' ;
      
execute  immediate v_sqlcount  into  v_count;
      p_RecordCount :
=  v_count;

        
-- 排序字段
         IF  p_OrderField  IS   NOT   NULL   THEN
           v_orderfield:
= p_OrderField;
           
Else
           v_orderfield:
= ' ID ' ;
        
END   IF ;
        
-- 是否降序
         IF  p_Desc  <> 0   THEN
          v_order:
= '  ASC ' ;
          
Else
          v_order:
= '  DESC ' ;
        
END   IF ;
        
        v_sql:
= v_sql  ||   ' ORDER BY  ' ||  v_orderfield  ||  v_order;
      
-- --执行分页查询
      v_heiRownum : =  p_PageIndex  *  p_PageSize;
      v_lowRownum :
=  v_heiRownum  -  p_PageSize  +   1 ;

      v_sql :
=   ' SELECT * FROM (
                      SELECT A.*, rownum rn FROM (
' ||  v_sql  || ' ) A WHERE rownum <=  ' ||  to_char(v_heiRownum)  ||   ' ) B WHERE rn >=  '   ||  to_char(v_lowRownum) ;


      
OPEN  RET_CURSOR  FOR  v_sql;

       EXCEPTION
        
WHEN  NO_DATA_FOUND  THEN
                  ERRORCODE:
= 9999 ;
        
WHEN  OTHERS  THEN
                  ERRORCODE:
= 9999 ;
   
END  QUERYLOG;
   
   
END  H_QUERYPACK;

 二、程序

DataAccess.cs

 

using  System;
using  System.Data;
using  System.Data.OracleClient;
using  System.Collections;
using  System.Collections.Specialized;

/// <summary>
///数据层  author: EvoRul   date:2007-03-29
/// </summary>

public   class  DataAccess
{

    
/// <summary>
    
/// 返回数据库连接字符串
    
/// </summary>

    public static String DatabaseConnectionString
    
{
        
get
        
{
            NameValueCollection configSettings 
= (NameValueCollection)System.Configuration.ConfigurationManager.GetSection("appSettings");
            
return configSettings["connectionString"];
        }

    }


    
/// <summary>
    
/// 返回每一页显示的纪录数
    
/// </summary>

    public static int RowsPerPage
    
{
        
get
        
{
            NameValueCollection configSettings 
= (NameValueCollection)System.Configuration.ConfigurationManager.GetSection("appSettings");
            
return Convert.ToInt32(configSettings["rowsPerPage"]);
        }

    }


    
/// <summary>
    
/// 获取特定日志集合
    
/// </summary>
    
/// <param name="typeID">日志类型</param>
    
/// <param name="userID">操作人</param>
    
/// <param name="strOrderField">排序字段</param>
    
/// <param name="intASC">是否升序 0-降序,1-升</param>
    
/// <param name="PageIndex">页码</param>
    
/// <param name="rowCount">页行数</param>
    
/// <param name="recordSum">符合条件的总记录数</param>
    
/// <returns></returns>

    public static ArrayList QueryLog(string strOperator,DateTime dtStartTime,DateTime dtEndTime, string strOrderField,
       
int intASC, int PageIndex, int rowCount, out int recordSum)
    
{
        
// 返回集合
        ArrayList myArrayList = new ArrayList();

        
// 创建连接
        OracleConnection myConnection = new OracleConnection(DatabaseConnectionString);

        
try
        
{
            
// 打开连接
            myConnection.Open();
        }

        
catch (Exception ex)
        
{
            
throw (ex);
        }


        
try
        
{
            
// 创建存储过程
            OracleCommand myCommand = new OracleCommand("H_QUERYPACK.QUERYLOG", myConnection);
            myCommand.CommandType 
= CommandType.StoredProcedure;
            OracleDataReader dr;

            
// ============================== 参数定义 ==============================

            
// 返回值
            myCommand.Parameters.Add("RET_CURSOR", OracleType.Cursor);
            myCommand.Parameters[
"RET_CURSOR"].Direction = ParameterDirection.Output;
            OracleParameter ret 
= myCommand.Parameters.Add("ERRORCODE", OracleType.Int32);
            ret.Direction 
= ParameterDirection.Output;

            OracleParameter retCountSum 
= myCommand.Parameters.AddWithValue("p_RecordCount", OracleType.Int32);
            retCountSum.Direction 
= ParameterDirection.Output;

            
// 编号
            myCommand.Parameters.AddWithValue("p_logID", OracleType.Int32).Value = 0;

            
// 用户编号
            myCommand.Parameters.AddWithValue("p_Operator", OracleType.VarChar).Value = strOperator;

            
// 时间下限
            myCommand.Parameters.AddWithValue("p_StartTime", OracleType.DateTime).Value = dtStartTime;

            
// 时间上限
            myCommand.Parameters.AddWithValue("p_EndTime", OracleType.DateTime).Value =dtEndTime;

            
// 排序字段
            myCommand.Parameters.AddWithValue("p_OrderField", OracleType.VarChar).Value = strOrderField;

            
// 怎么排序
            myCommand.Parameters.AddWithValue("p_Desc", OracleType.Int32).Value = intASC;

            
// 每页行数
            myCommand.Parameters.AddWithValue("p_PageSize", OracleType.Int32).Value = rowCount;

            
//页码
            myCommand.Parameters.AddWithValue("p_PageIndex", OracleType.Int32).Value = PageIndex;



            
// ============================ 参数定义完毕 ============================

            
// 执行存储过程
            dr = myCommand.ExecuteReader();

            
// 执行未成功
            if (Convert.ToInt32(ret.Value) != 0)
                
throw new Exception("执行存储过程出错!");

            
// 总记录数
            recordSum = Convert.ToInt32(retCountSum.Value);


            
while (dr.Read())
            
{
                
// 创建新日志
                Log log = new Log();

                
//操作业务类型
                if (dr["operationtype"!= DBNull.Value)
                
{
                    log.OperationType 
= Convert.ToString(dr["operationtype"]);
                }

                
// 时间
                if (dr["time"!= DBNull.Value)
                    log.Time 
= Convert.ToDateTime(dr["time"]);

                
// 用户
                if (dr["operator"!= DBNull.Value)
                
{
                    log.Operator 
= Convert.ToString(dr["operator"]);
                }


                
// 信息
                if (dr["info"!= DBNull.Value)
                    log.Info 
= Convert.ToString(dr["info"]);

                
// 加入返回集合
                myArrayList.Add(log);
            }


            dr.Close();
            
return myArrayList;
        }

        
catch (Exception ex)
        
{
            
throw (ex);
        }

        
finally
        
{
            myConnection.Close();
        }

    }

}

 

DataLogic.cs

 

using  System;
using  System.Data;
using  System.Configuration;
using  System.Collections;

/// <summary>
/// 业务逻辑层  author: EvoRul   date:2007-03-29
/// </summary>

public   class  DataLogic
{
    
public DataLogic()
    
{
    }


    
public static int recordSum = 0;

   
    
/// <summary>
    
/// 查询日志
    
/// </summary>
    
/// <param name="strOperator">操作人</param>
    
/// <param name="dtStarTime">时间范围下限</param>
    
/// <param name="dtEndTime">时间上限</param>
    
/// <param name="Pageid">页码</param>
    
/// <returns></returns>

    public static IEnumerable GetLogData(string strOperator,DateTime dtStarTime,DateTime dtEndTime, string Pageid)
    
{
        
return Log.GetList(strOperator,dtStarTime,dtEndTime,"time",1, Convert.ToInt32(Pageid),DataAccess.RowsPerPage,out recordSum);
    }

}

 

Log.cs

 

using  System;
using  System.Data;
using  System.Collections;

/// <summary>
/// 日志类
/// </summary>

public   class  Log
{
    
// ============================== 成员 ==============================

    
protected string operationType;
    
/// <summary>
    
/// 时间
    
/// </summary>

    protected DateTime time = new DateTime();

    
/// <summary>
    
/// 用户
    
/// </summary>

    protected string m_operator;

    
/// <summary>
    
/// 信息
    
/// </summary>

    protected string info = "";


    
// ============================== 属性 ==============================

    
public string OperationType
    
{
        
get return operationType; }
        
set { operationType = value; }
    }

    
/// <summary>
    
/// 时间
    
/// </summary>

    public DateTime Time
    
{
        
get return time; }
        
set { time = value; }
    }



    
/// <summary>
    
/// 用户
    
/// </summary>

    public string Operator
    
{
        
get return m_operator; }
        
set { m_operator = value; }
    }


    
/// <summary>
    
/// 信息
    
/// </summary>

    public string Info
    
{
        
get return info; }
        
set { info = value; }
    }


    
// ============================== 方法 ==============================

    
/// <summary>
    
/// 创建空日志实例
    
/// </summary>

    public Log()
    
{
    }


    
/// <summary>
    
/// 新增日志
    
/// </summary>

    public void Add()
    
{
        
try
        
{
            
// 暂不支持该方法
            throw new Exception("新增日志");
        }

        
catch (Exception ex)
        
{
            
throw (ex);
        }

    }


    
/// <summary>
    
/// 修改日志(不支持)
    
/// </summary>

    public void Modify()
    
{
        
// 暂不支持该方法
        throw new Exception("修改日志");
    }


    
/// <summary>
    
/// 删除日志
    
/// </summary>

    public void Del()
    
{
        
// 暂不支持该方法
        throw new Exception("修改日志");
    }


    
/// <summary>
    
/// 获取特定的日志集
    
/// </summary>
    
/// <param name="strOperator">操作人</param>
    
/// <param name="dtStartTime">开始时间</param>
    
/// <param name="dtEndTime">结束时间</param>
    
/// <param name="strOrderField">排序字段</param>
    
/// <param name="intASC">0-降序,1-升序</param>
    
/// <param name="PageIndex">页码</param>
    
/// <param name="rowCount">页行数</param>
    
/// <param name="recordSum">总记录数</param>
    
/// <returns></returns>

    public static ArrayList GetList(string strOperator,DateTime dtStartTime,DateTime dtEndTime,string strOrderField,int intASC, int PageIndex, int rowCount, out int recordSum)
    
{
        
return DataAccess.QueryLog(strOperator,dtStartTime,dtEndTime,strOrderField, intASC, PageIndex, rowCount, out recordSum);
    }

}

 

前台页 Default.aspx

 

<% @ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default"  %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

< html  xmlns ="http://www.w3.org/1999/xhtml"   >
< head  runat ="server" >
    
< title > 客户端回调 </ title >
    
< style  type ="text/css" >
    
    body 
{
    font-size
: 12px;
    color
: #525252;
    
}

td 
{
    font-size
: 12px;
    color
: #525252;
}

th 
{
    font-size
: 12px
}

a:link 
{
    color
: #000000; text-decoration: none
}

a:visited 
{
    color
: #525252; text-decoration: none
}

a:hover 
{
    color
: #0095A7; text-decoration: underline
}

td.alt_1 
{
 border-top
: 1px solid #d6d6d6;
 border-right
: 1px solid #d6d6d6;
 font-size
:12px;
 color
: #4f6b72;
}

td.alt_2 
{
 border-top
: 1px solid #d6d6d6;
 border-right
: 1px solid #d6d6d6;
}

td.alt_3 
{
 border-left
: 1px solid #d6d6d6;
 border-bottom
: 1px solid #d6d6d6;
}

td.alt_4 
{
 border-left
: 1px solid #d6d6d6;
 border-right
: 1px solid #d6d6d6;
}

    
</ style >
    
    
< script  type ="text/javascript" >
     
//author: EvoRul  date:2007-03-25
       var PageIndex=1;
    
       
function QueryServer(objOperator,objStartTime,objEndTime,intIndex,boolReset)
        
{
            context 
= gridspan;
            context.innerHTML 
= "<IMG SRC='../images/pie.gif' />数据加载中...";
            arg 
= "ServerMethodQuery|" + objOperator.value.replace(/$/g,"")+"$"+ objStartTime.value.replace(/$/g,"")+"$"+ objEndTime.value.replace(/$/g,""+"$"+ intIndex.toString().replace(/$/g,"")+"$"+ boolReset.toString().replace(/$/g,"");
            
<%= ClientScript.GetCallbackEventReference(this"arg""ReceiveServerData""context")%>;
            
        }


        
function ReceiveServerData(result, context)
        
{
           context.innerHTML 
= (result.split('$'))[0];
           
var t1=document.getElementById("RecordSum");
           
var t2=document.getElementById("PageSum");
           
var t3=document.getElementById("CurrentPage");
           
var t5=document.getElementById("LinkUp");
           
var t6=document.getElementById("Linkdown");
           
           
var t7=document.getElementById("DownListIndex");
           
           t1.innerHTML 
= (result.split('$'))[1];
           t2.innerHTML 
= (result.split('$'))[2];
           t3.innerHTML 
= (result.split('$'))[3];
           
           PageIndex
=eval((result.split('$'))[3]);
           
           
if(PageIndex>1)
           
{
             t5.innerHTML
="<a href="#" οnclick="QueryServer(txtOperator,TxtStartTime,TxtEndTime,"+(PageIndex-1).toString()+",'false')">上一页</a>";
           }

           
else
             t5.innerHTML 
= "上一页";
            
           
if(PageIndex< eval((result.split('$'))[2]))
            
{
             t6.innerHTML
="<a href="#" οnclick="QueryServer(txtOperator,TxtStartTime,TxtEndTime,"+(PageIndex+1).toString()+",'false')">下一页</a>";
            }

           
else
             t6.innerHTML
="下一页";    
             
           
           
if(result.split('$').length>4)
           
{
              
var t4=document.getElementById("SpanIndex");
              t4.innerHTML 
= (result.split('$'))[4];
           }

           
           t7.value
=PageIndex;
        }

        
        
function functionPageload()
        
{
          
if(document.readyState!="complete"return;
            context 
= gridspan;
             arg 
= "ServerMethodQuery|" +"$"+"1753-1-1"+ "$"+"9999-12-31"+ "$"+ "1"+"$"+ "true";
            
<%= ClientScript.GetCallbackEventReference(this"arg""ReceiveServerData""context")%>;
            
//页面加载完后执行的代码
        }


        
//页面加载状态改变时执行的方法
        document.onreadystatechange=functionPageload;
    
</ script >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< div >
      
< table  style ="width:100%; background-color:#ffffff; margin: 0px;"  cellpadding ="0"  cellspacing ="0"  border ="0"  id ="table1" >
          
< tr >
             
< td  style ="width:102%; height: 445px;"  align ="center"  valign ="top" >
               
< br  />
               
< table  cellpadding ="0"  cellspacing ="0"  border ="0"  width ="95%" >
                    
< tr >
                        
< td >< img  src ="../images/round-1.gif"  width ="13"  height ="30"  alt =""   /></ td >
                        
< td  style ="width:100%;background-color:#efefef;"  class ="alt_1" >
                            日志查询
</ td >
                    
</ tr >
                    
< tr >
                        
< td  class ="alt_4"  valign ="top"  colspan ="2"  align ="center" >
                            
< table  cellpadding ="0"  cellspacing ="0"  border ="0"  width ="95%" >
                                
< tr >
                                    
< td  style ="width:120px; height:30px;"  align ="right" >
                                        操作人员:
</ td >
                                    
< td  align ="left"  style ="width: 143px" >
                                        
&nbsp; < asp:TextBox  ID ="txtOperator"  runat ="server"  CssClass ="border"  ReadOnly ="False"
                                            Width
="90px" ></ asp:TextBox ></ td >
                                    
< td  style ="width:71px; height:30px;"  align ="right" >
                                        操作时间:
</ td >
                                    
< td  align ="left" >
                                        
&nbsp; < asp:TextBox  ID ="TxtStartTime"  runat ="server"  CssClass ="border"
                                            ReadOnly
="False"  Width ="90px" ></ asp:TextBox > - < asp:TextBox
                                                
ID ="TxtEndTime"  runat ="server"  CssClass ="border"
                                                ReadOnly
="False"  Width ="90px" ></ asp:TextBox ></ td >
                                
</ tr >
                                
< tr >
                                     
< td  colspan ="4"  style ="background-image:url(../images/point.gif); height:12px;" ></ td >
                                
</ tr >
                                
< tr >
                                    
< td  colspan ="4"  style ="height:30px; text-align: center;" >
                                        
< asp:Button  ID ="Submit"  runat ="server"  CssClass ="btn2"  Text =" 确定 "  Height ="20px"  Width ="50px"   /></ td >
                                
</ tr >
                            
</ table >
                        
</ td >
                    
</ tr >
                    
< tr >
                        
< td  colspan ="2"  align ="center" >
                            
< table  cellpadding ="0"  cellspacing ="0"  border ="0"  width ="100%" >
                                
< tr >
                                    
< td  style ="width:100%;"  class ="alt_3" >   </ td >
                                    
< td ></ td >
                                 
</ tr >                                             
                            
</ table >
                        
</ td >
                    
</ tr >
                
</ table >
                
< span  id ="gridspan" >
                 
< asp:GridView  ID ="Logs"  runat ="server"  AutoGenerateColumns ="False"
                     GridLines
="Horizontal"  PageSize ="15"
                     Width
="95%"  BackColor ="White"  BorderColor ="#336666"  BorderStyle ="Double"  BorderWidth ="3px"  CellPadding ="4" >
                     
< RowStyle  ForeColor ="#333333"  Height ="24px"  BackColor ="White"   />
                     
< SelectedRowStyle  BorderColor ="Red"  BackColor ="#339966"  Font-Bold ="True"  ForeColor ="White"   />
                     
< HeaderStyle  BackColor ="#336666"  ForeColor ="White"  Height ="30px"  Font-Bold ="True"   />
                     
< AlternatingRowStyle  BorderWidth ="1px"   />
                     
< Columns >
                         
< asp:TemplateField  HeaderText ="用户" >
                             
< ItemTemplate >
                                 
< asp:HyperLink  ID ="HyperLink1"  runat ="server"  NavigateUrl =""  Text ='<%#  Eval("UserInfo.Name") % > '> </ asp:HyperLink >
                             
</ ItemTemplate >
                         
</ asp:TemplateField >
                         
< asp:TemplateField  HeaderText ="类型" >
                             
< ItemTemplate >
                                 
< asp:HyperLink  ID ="HyperLink2"  runat ="server"  NavigateUrl =""  Text ='<%#  Eval("Type.Name") % > '> </ asp:HyperLink >
                             
</ ItemTemplate >
                         
</ asp:TemplateField >
                         
< asp:TemplateField  HeaderText ="时间" >
                             
< ItemTemplate >
                                 
< asp:HyperLink  ID ="HyperLink4"  runat ="server"  NavigateUrl =""  Text ='<%#  Eval("Time") % > '> </ asp:HyperLink >
                             
</ ItemTemplate >
                         
</ asp:TemplateField >
                         
< asp:TemplateField  HeaderText ="备注" >
                             
< ItemTemplate >
                                 
< asp:HyperLink  ID ="HyperLink5"  runat ="server"  NavigateUrl =""  Text ='<%#  Eval("Info") % > '> </ asp:HyperLink >
                             
</ ItemTemplate >
                         
</ asp:TemplateField >
                     
</ Columns >
                     
< FooterStyle  BackColor ="White"  ForeColor ="#333333"   />
                     
< PagerStyle  BackColor ="#336666"  ForeColor ="White"  HorizontalAlign ="Center"   />
                 
</ asp:GridView >
                 
</ span >
                 
< table  border ="0"  cellpadding ="0"  cellspacing ="0"  bordercolorlight ="#000000"  bordercolordark ="#ffffff" >
                     
< tr >
                         
< td  align ="center"  nowrap style ="height: 25px; width: 601px;" >
                             共有
< asp:Label  ID ="RecordSum"  runat ="server"   /> < asp:Label  ID ="PageSum"  runat ="server"   /> 页结果
                             
&nbsp;&nbsp;&nbsp;&nbsp; 当前显示为第 < asp:Label  ID ="CurrentPage"  runat ="server"   /> &nbsp;&nbsp;&nbsp; 15条/页 &nbsp;&nbsp;
                             
< asp:Label  ID ="LinkUp"  runat ="server"   > 上一页 </ asp:Label >
                             
< asp:Label  ID ="Linkdown"  runat ="server"   > 下一页 </ asp:Label >
                             跳转至第
< span  id ="SpanIndex" >< asp:DropDownList  ID ="DownListIndex"  runat ="server"  Width ="50px" >
            
</ asp:DropDownList ></ span >
                         
</ td >
                     
</ tr >
                 
</ table >
                 
                 
< asp:ObjectDataSource  ID ="DataSourceLog"  runat ="server"  TypeName ="DataLogic"  SelectMethod ="GetLogData" >
                     
< SelectParameters >
                         
< asp:ControlParameter  ControlID ="txtOperator"  DefaultValue =" "  Name ="strOperator"  PropertyName ="Text"
                             Type
="string"   />
                         
< asp:ControlParameter  ControlID ="TxtStartTime"  DefaultValue ="1753-1-1"  Name ="dtStarTime"
                             PropertyName
="Text"  Type ="DateTime"   />
                         
< asp:ControlParameter  ControlID ="TxtEndTime"  DefaultValue ="9999-12-31"  Name ="dtEndTime"
                             PropertyName
="Text"  Type ="DateTime"   />
                          
< asp:ControlParameter  Name ="Pageid"  ControlID ="DownListIndex"  DefaultValue ="1"  PropertyName ="SelectedValue"  Type ="String"   />
                     
</ SelectParameters >
                 
</ asp:ObjectDataSource >

               
</ td >
            
</ tr >
        
</ table >
    
    
</ div >
    
</ form >
</ body >
</ html >

Default.aspx.cs

 

using  System;
using  System.Data;
using  System.Configuration;
using  System.Web;
using  System.IO;
using  System.Text;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.HtmlControls;
using  System.Globalization;

public   partial   class  _Default : System.Web.UI.Page,ICallbackEventHandler
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
this.Submit.Attributes.Add("onclick""QueryServer(txtOperator,TxtStartTime,TxtEndTime,1,"true");return false;");
        
this.DownListIndex.Attributes.Add("onchange""QueryServer(txtOperator,TxtStartTime,TxtEndTime,this.value,"false");return false;");
    }


    
回调分页 
}

 如有错误,欢迎指正!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值