首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 认证考试-> 软件水平考试
客户端回调实现gridview无刷新分页_asp.net技巧
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 

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

一、存储过程

包头:

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="#" onclick="QueryServer(txtOperator,TxtStartTime,TxtEndTime,"+(PageIndex-1).toString()+",false)">上一页</a>";
           }
           else
             t5.innerHTML = "上一页";
           
           if(PageIndex< eval((result.split($))[2]))
            ...{
             t6.innerHTML="<a href="#" onclick="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="http://www.knowsky.com/../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;");
    }

    回调分页#region  回调分页
    private string serverReturn;

    public string GetCallbackResult()
    ...{

        string[] parts = serverReturn.Split(|);
        //根据传递的方法名进行调用,并传递相应的参数,目前只支持一个参数
        return (string)GetType().GetMethod(parts[0]).Invoke(this, new object[] ...{ parts[1] });
    }

    public void RaiseCallbackEvent(string eventArgument)
    ...{
        serverReturn = eventArgument;
    }

    /**//// <summary>
    /// 根据从客户端传来的值,对GridView的内容进行更新,并将更新后的GridView的html返回
    /// </summary>
    /// <param name="arg"></param>
    /// <returns></returns>

    public string ServerMethodQuery(string arg)
    ...{
        Logs.DataSourceID = "DataSourceLog";

        string[] arrayArg = arg.Split($);
        this.txtOperator.Text = arrayArg[0];
        this.TxtStartTime.Text= arrayArg[1];
        this.TxtEndTime.Text = arrayArg[2];

        intialPageSelect();
        this.DownListIndex.SelectedValue = arrayArg[3];
        Logs.DataBind();

        //传入客户端字符串,并用"$"分割
        StringBuilder strHtml = new StringBuilder();
        strHtml.Append(RenderControl(Logs));
        strHtml.Append("$");
        strHtml.Append(DataLogic.recordSum.ToString());
        strHtml.Append("$");
        strHtml.Append(Convert.ToString(DataLogic.recordSum / DataAccess.RowsPerPage + 1));
        strHtml.Append("$");
        strHtml.Append(arrayArg[3]);
        if (arrayArg[4] == "true")
        ...{
            strHtml.Append("$");

            intialPageSelect();
            strHtml.Append(RenderControl(DownListIndex));
        }

        return strHtml.ToString();
    }

    private string RenderControl(Control control)
    ...{
        StringWriter writer1 = new StringWriter(CultureInfo.InvariantCulture);
        HtmlTextWriter writer2 = new HtmlTextWriter(writer1);

        control.RenderControl(writer2);
        writer2.Flush();
        writer2.Close();

        return writer1.ToString();
    }

    /**//// <summary>
    /// 初始化页下拉单
    /// </summary>
    private void intialPageSelect()
    ...{
        DownListIndex.Items.Clear();
        for (int i = 0; i < (DataLogic.recordSum / DataAccess.RowsPerPage + 1); i++)
        ...{
            this.DownListIndex.Items.Add(Convert.ToString(i + 1));
        }

    }
    #endregion
}
 如有错误,欢迎指正!


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·省市联动菜单的源代码实现(access数据库版)-ASP教程,数据库相关
·【HTML】打开页面时按照指定的URL直接跳转到另一新页面-ASP教程,脚本编码
·多功能DataGrid打印类(WinForm C#)-.NET教程,C#语言
·我也来谈WEB打印。-ASP教程,打印相关
·C#中的泛型 (From dotNet SDK 2.0 Beta1)-.NET教程,C#语言
·J2EE WEB层的曙光 -- JSF-JSP教程,J2EE/EJB/服务器
·C#:获得文件版本信息及只读文件的删除-.NET教程,C#语言
·[ASP.NET]按键跳转以及按Enter以不同参数提交,及其他感应事件-.NET教程,Asp.Net开发
·谈基于.net平台windows开发中的模式窗体-.NET教程,.NET Framework
·ASP.NET 2.0 中实现 Treeview 与数据库的绑定(含代码)-.NET教程,Asp.Net开发
最新文章
·中文版windows xp系统升级sp3新鲜体验_windows xp
·十个提高windows vista系统性能的秘密_windows vista
·用搏客blog月收入200美圆_网赚技巧
·google 禁止使用在线广告宣传adsense推介_网赚技巧
·做广告联盟的站长必读规则_网赚技巧
·刘润:用c2c模式运作捐献公益组织_站长访谈
·seo资料站长丘仕达访谈:整站优化心得_站长访谈
·易被忽视的优化网站设计的五种方法_站长心得
·photoshop非主流照片:可爱红脸蛋美女_photoshop教程
·如何让网民爱上你的网站?(1)_站长心得
相关主题
西部数码虚拟主机

友情链接
CNNIC 西部数码
万网 自助建站
虚拟主机 asp空间
域名注册 域名
域名申请 主页空间
论坛空间 网站空间
国际域名 虚拟空间
空间租用 DDOS防火墙
成都主机托管 四川主机托管
主机租用 服务器租用
网站目录 自助建站
虚拟主机 网址大全
软件下载
自助链接
虚拟主机资讯 特价虚拟主机
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
发表评论 打印  刷新     关闭