快崩溃了
想用ajax实现静态网站的分页,两天了,还没搞出来!快哭了
谁有代码研究一下:[email protected]

解决方案 »

  1.   

    分也太少了:
    奉献完整的代码:
    public class CmsPub
    {
    private DataSet ds; #region 获得ds
    public DataSet AccessDS(string strAccess)
    {
    string AccessFile = HttpContext.Current.Server.MapPath(@"\CmsSystem\CMSData\db1.mdb");
    OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+AccessFile);
    OleDbDataAdapter apr = new OleDbDataAdapter();
    apr.SelectCommand = new OleDbCommand(strAccess,con);
    ds = new DataSet();
    apr.Fill(ds);
    return ds;
    }
    #endregion

    #region 数据绑定
    public void htmlDataBind(string tagname,int n,string moduleName,string strAccess)
    {
    //链接数据库获得DataSet
    AccessDS(strAccess); #region 把数据库中取出的数据转换成html格式的字符串
    StringBuilder strtext = new StringBuilder();

    if (n>ds.Tables[0].Rows.Count)
    {
    n=ds.Tables[0].Rows.Count;
    } strtext.Append("<ul>");

    for (int iRowIndex = 0; iRowIndex < n; iRowIndex++)
    {

    strtext.Append("<tr>");
    int i = 0;
    for (int iColIndex = 0; iColIndex < ds.Tables[0].Columns.Count; iColIndex++)
    {
    if (i ==0)
    {
    strtext.Append(string.Format("<td><li class=li4><a href= target=_blank class=t2>{0}</a></li></td>",ds.Tables[0].Rows[iRowIndex][iColIndex]+"&nbsp&nbsp&nbsp&nbsp&nbsp"));
    }
    else
    {
    strtext.Append(string.Format("<td><a href= target=_blank class=t2>{0}</a></td>", ds.Tables[0].Rows[iRowIndex][iColIndex]+"&nbsp&nbsp&nbsp&nbsp&nbsp"));
    }
    i++;
    }

    strtext.Append("</tr>");
    }

    strtext.Append("</ul>"); #endregion

    #region 把html中的文本读到一个字符串中

    string strhtml = ""; StreamReader sr = null; StreamWriter sw = null; //定义字符集编码
    Encoding code = Encoding.GetEncoding("unicode"); //获得HTML网页的路径
    string strpath = HttpContext.Current.Server.MapPath(@"\CmsSystem\staticfile"+moduleName);

    try
    {
    //读取文件
    sr= new StreamReader(strpath,code);
    strhtml = sr.ReadToEnd();
    }
    catch (Exception ex)
    {
    HttpContext.Current.Response.Write(ex.Message);
    HttpContext.Current.Response.End();
    sr.Close();
    }
    sr.Close();
    //创建新的文件
    string strfile = HttpContext.Current.Server.MapPath(@"\CmsSystem\staticfile"+moduleName); #endregion #region 把更换后的内容写到作成的html中

    strhtml=strhtml.Replace(tagname,strtext.ToString()); //内容をファイルに入れる
    try
    {
    sw = new StreamWriter(strfile,false,code);
    sw.Write(strhtml);
    sw.Flush();

    }
    catch(Exception ex)
    {
    HttpContext.Current.Response.Write(ex.Message);
    HttpContext.Current.Response.End();
    }
    finally
    {
    sw.Close();
    } #endregion }
    #endregion

    }
      

  2.   

    #region 变量定义
    private DataSet ds;
    private DataSet ds1;
    public string  strhtml="";
    private Encoding code;
    StreamWriter sw = null;
    string strlist = "";
    #endregion #region 获得ds
    public DataSet AccessDS(string strAccess)
    {
    string AccessFile = HttpContext.Current.Server.MapPath(@"\CmsSystem\CMSData\db1.mdb");
    OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+AccessFile);
    OleDbDataAdapter apr = new OleDbDataAdapter();
    apr.SelectCommand = new OleDbCommand(strAccess,con);
    ds = new DataSet();
    apr.Fill(ds);
    con.Close();
    return ds;
    }
    #endregion #region 把模板文件读到一个字符串中
    public string HtmlToStr(string moduleName)
    { StreamReader sr = null; //定义字符集编码
    code = Encoding.GetEncoding("unicode"); //获得HTML网页的路径
    string strpath = HttpContext.Current.Server.MapPath(@"\CmsSystem\module"+moduleName);

    try
    {
    //读取文件
    sr= new StreamReader(strpath,code);
    strhtml = sr.ReadToEnd();
    }
    catch (Exception ex)
    {
    HttpContext.Current.Response.Write(ex.Message);
    HttpContext.Current.Response.End();
    sr.Close();
    }
    sr.Close();
    strlist = strhtml;
    return strhtml; }
    #endregion
      

  3.   

    #region 变量定义
    private DataSet ds;
    private DataSet ds1;
    public string  strhtml="";
    private Encoding code;
    StreamWriter sw = null;
    string strlist = "";
    #endregion #region 获得ds
    public DataSet AccessDS(string strAccess)
    {
    string AccessFile = HttpContext.Current.Server.MapPath(@"\CmsSystem\CMSData\db1.mdb");
    OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+AccessFile);
    OleDbDataAdapter apr = new OleDbDataAdapter();
    apr.SelectCommand = new OleDbCommand(strAccess,con);
    ds = new DataSet();
    apr.Fill(ds);
    con.Close();
    return ds;
    }
    #endregion #region 把模板文件读到一个字符串中
    public string HtmlToStr(string moduleName)
    { StreamReader sr = null; //定义字符集编码
    code = Encoding.GetEncoding("unicode"); //获得HTML网页的路径
    string strpath = HttpContext.Current.Server.MapPath(@"\CmsSystem\module"+moduleName);

    try
    {
    //读取文件
    sr= new StreamReader(strpath,code);
    strhtml = sr.ReadToEnd();
    }
    catch (Exception ex)
    {
    HttpContext.Current.Response.Write(ex.Message);
    HttpContext.Current.Response.End();
    sr.Close();
    }
    sr.Close();
    strlist = strhtml;
    return strhtml; }
    #endregion

    /// <tagFlag>
    /// 0:其他信息
    /// 1:车源信息
    /// 2:货源信息
    /// 3:供应信息
    /// 4:需求信息
    /// </tagFlag>
    #region 把数据库中取出的数据转换成html格式的字符串
    public string htmlDataBind(int n,string strAccess,string tagname,int tagFlag,string Filename,string strmodule)
    {
    ds1= new DataSet();
    //链接数据库获得DataSet
    ds1=AccessDS(strAccess); StringBuilder strtext = new StringBuilder();

    if(ds1.Tables[0].Rows.Count<=0)
    {
    strtext.Append("");
    }
    else
    {

    if (n>ds1.Tables[0].Rows.Count)
    {
    n=ds1.Tables[0].Rows.Count;
    } strtext.Append("<ul>");

    for (int iRowIndex = 0; iRowIndex < n; iRowIndex++)
    {

    strtext.Append("<tr class=link>");
    int i = 0;
    for (int iColIndex = 0; iColIndex < ds1.Tables[0].Columns.Count; iColIndex++)
    {
    int row = iRowIndex+1;
    if (i ==0)
    {
    if (tagFlag==1)
    {

    CarinfoFile(ds1.Tables[0].Rows[iRowIndex][iColIndex].ToString(),
    tagname,Filename,row);
    string strLinkPath="../staticfile/CarInfor/CarInfor"+row+".aspx";
    strtext.Append(string.Format("<td ><li class=li4><a href="+strLinkPath+" target=_blank class=link>{0}</a></li></td>",ds1.Tables[0].Rows[iRowIndex][iColIndex]));
    }
    else if(tagFlag==2)
    {
    ProductFile(ds1.Tables[0].Rows[iRowIndex][iColIndex].ToString(),
    tagname,Filename,row);
    string strLinkPath="../staticfile/ProductInfor/ProductInfor"+row+".aspx";
    strtext.Append(string.Format("<td ><li class=li4><a href="+strLinkPath+" target=_blank class=link>{0}</a></li></td>",ds1.Tables[0].Rows[iRowIndex][iColIndex]));
    }
    else if(tagFlag==3)
    {
    SupplyFile(ds1.Tables[0].Rows[iRowIndex][iColIndex].ToString(),
    tagname,Filename,row);
    string strLinkPath="../staticfile/SupplyInfor/SupplyInfor"+row+".aspx";
    strtext.Append(string.Format("<td ><li class=li4><a href="+strLinkPath+" target=_blank class=link>{0}</a></li></td>",ds1.Tables[0].Rows[iRowIndex][iColIndex]));
    }
    else if(tagFlag==4)
    {
    OfferFile(ds1.Tables[0].Rows[iRowIndex][iColIndex].ToString(),
    tagname,Filename,row);
    string strLinkPath="../staticfile/OfferInfor/OfferInfor"+row+".aspx";
    strtext.Append(string.Format("<td ><li class=li4><a href="+strLinkPath+" target=_blank class=link>{0}</a></li></td>",ds1.Tables[0].Rows[iRowIndex][iColIndex]));
    }
    else if(tagFlag==5)
    {
    NewsFile(ds1.Tables[0].Rows[iRowIndex][iColIndex].ToString(),
    tagname,Filename,row);
    string strLinkPath="../staticfile/News/News"+row+".aspx";
    strtext.Append(string.Format("<td ><li class=li4><a href="+strLinkPath+" target=_blank class=link>{0}</a></li></td>",ds1.Tables[0].Rows[iRowIndex][iColIndex]));
    }
    else if(tagFlag==6)
    {
    RulersFile(ds1.Tables[0].Rows[iRowIndex][iColIndex].ToString(),
    tagname,Filename,row);
    string strLinkPath="../staticfile/Rulers/Rulers"+row+".aspx";
    strtext.Append(string.Format("<td ><li class=li4><a href="+strLinkPath+" target=_blank class=link>{0}</a></li></td>",ds1.Tables[0].Rows[iRowIndex][iColIndex]));
    }
    else if(tagFlag==7)
    {
    IndustryInforFile(ds1.Tables[0].Rows[iRowIndex][iColIndex].ToString(),
    tagname,Filename,row);
    string strLinkPath="../staticfile/IndustryInfor/IndustryInfor"+row+".aspx";
    strtext.Append(string.Format("<td ><li class=li4><a href="+strLinkPath+" target=_blank class=link>{0}</a></li></td>",ds1.Tables[0].Rows[iRowIndex][iColIndex]));
    }
    else if(tagFlag==8)
    {
    HelpInforFile(ds1.Tables[0].Rows[iRowIndex][iColIndex].ToString(),
    tagname,Filename,row);
    string strLinkPath="../staticfile/HelpInfor/HelpInfor"+row+".aspx";
    strtext.Append(string.Format("<td ><li class=li4><a href="+strLinkPath+" target=_blank class=link>{0}</a></li></td>",ds1.Tables[0].Rows[iRowIndex][iColIndex]));
    }
    else if(tagFlag==9)
    {
    string strLinkPath="../module/invite.aspx";
    strtext.Append(string.Format("<td ><li class=li4><a href="+strLinkPath+" target=_blank class=link>{0}</a></li></td>",ds1.Tables[0].Rows[iRowIndex][iColIndex]));
    }
    else if(tagFlag==10)
    {
    PlanInforFile(ds1.Tables[0].Rows[iRowIndex][iColIndex].ToString(),
    tagname,Filename,row);
    string strLinkPath="../staticfile/Plan/Plan"+row+".aspx";
    strtext.Append(string.Format("<td ><li class=li4><a href="+strLinkPath+" target=_blank class=link>{0}</a></li></td>",ds1.Tables[0].Rows[iRowIndex][iColIndex]));
    }
    else if(tagFlag==0)
    {
    string strLinkPath="http://www.tre-inc.com/";
    strtext.Append(string.Format("<td ><li class=li4><a href="+strLinkPath+" target=_blank class=link>{0}</a></li></td>",ds1.Tables[0].Rows[iRowIndex][iColIndex]));
    }
    else
    {
    strtext.Append(string.Format("<td ><li class=li4><a href= target=_blank class=link>{0}</a></li></td>",ds1.Tables[0].Rows[iRowIndex][iColIndex]));
    }

    }
    else
    {
    strtext.Append(string.Format("<td style='text-align:right;font-size:13px'>{0}</td>", ds1.Tables[0].Rows[iRowIndex][iColIndex]));
    }
    i++;
    }

    strtext.Append("</tr>");
    }

    strtext.Append("</ul>");


    }

    //替换标签中的内容
    strmodule=strmodule.Replace(tagname,strtext.ToString());
    return strmodule;
    }
    #endregion
     
    #region 生成静态文件
    public void WritertoHtml(string strmodule)
    {
    string strfile = HttpContext.Current.Server.MapPath(@"\CmsSystem\staticfile\main.aspx");

    //内容をファイルに入れる
    try
    {
    code = Encoding.GetEncoding("unicode");
    sw = new StreamWriter(strfile,false,code);
    sw.Write(strmodule);
    sw.Flush();

    }
    catch(Exception ex)

    HttpContext.Current.Response.Write(ex.Message);
    HttpContext.Current.Response.End();
    }
    finally
    {
    sw.Close();
    }
    }
    #endregion
      

  4.   

    #region 列表形式的数据显示,并自动生成页码
    /// <summary>
    /// 
    /// </summary>
    /// <param name="flag"></param>
    /// <param name="n"></param>
    /// <param name="strSql"></param>
    /// <param name="tagname"></param>
    public void ListDateDisplay(int n,string strSql,string tagname,string name,string TitleName,string FileName,int flag)
    {
    string newHtml = "";
    int pages = 1;
    int rows  = 0;
    DataTable dt = new DataTable();
    //链接数据库获得DataTable
    dt = AccessDS(strSql).Tables[0];
    rows = dt.Rows.Count; StringBuilder strtext = new StringBuilder();
    StringBuilder strtext1 ;

    if(dt.Rows.Count<=0)
    {
    strtext.Append("<tr><td>抱歉,没有找到您要搜索的结果!</td></tr>");
    }

    if (dt.Rows.Count < n)
    {
    n = dt.Rows.Count;
    }
    else
    {
    pages = (int)Math.Ceiling(rows*1.0/n);
    }
    string pagecnt = "<font color = red>"+pages+"</font>";
    string SsCont  = "<font color = red>"+rows+"</font>";
    int perrow = 0;
    int row    = 0;
    int printrow = 0;
    StringBuilder strtr = new StringBuilder();
    for (int page = 1;page <= pages;page++)
    {
    strtr.Append("<table border=0 style='FONT-SIZE: 13px; WIDTH: 100%' cellSpacing=0 cellPadding=0>");
    printrow = page*n;
    if (page == pages)
    {
    printrow = rows;
    }
    newHtml = this.strhtml;
    strtr = null;
    string str = "";
    str = strtext.ToString();;
    strtr = new StringBuilder(str);
    perrow = row;

    strtext1 = new StringBuilder();
    //行数
    int j=0;
    for (row = perrow; row < printrow; row++)
    {
    int i=0;
    j=j+1;

    if (j<5 )
    {
    strtext1.Append("<ul>");
    strtext1.Append("<tr height = 20>");
    strtext1.Append("<td class>");
    strtext1.Append("<li>");
    string LinkName="../"+FileName+"/"+FileName+j+".aspx";
    strtext1.Append(string.Format("<a class=link href="+LinkName+" target=_blank style='color=black;font-size:13px'>{0}</a>",dt.Rows[row][0].ToString()));
    strtext1.Append("</li>");
    strtext1.Append("</td>");
    strtext1.Append("</tr>");
    strtext1.Append("</ul>");
    }
    strtr.Append("<tr height = 25 class = 'tr1'>");
    //strtr.Append("<td class = 'tr1'>"+(row+1)+"</td>");
    strtr.Append("<td class = 'tr1'><img src='../../image/arrow.gif'></td>");
    for (int col = 0; col < dt.Columns.Count; col++)
    {
    if (i==0)
    {
    if (flag==0)
    {
    strtr.Append("<td class = 'tr1'>");
    string LinkName="../"+FileName+"/"+FileName+j+".aspx";
    strtr.Append(string.Format("<a href="+LinkName+" target=_blank style='color=black'>{0}</a>",dt.Rows[row][col].ToString()));
    strtr.Append("</td>");
    }
    else
    {
    strtr.Append("<td class = 'tr1'>");
    string LinkName="../../module/invite.aspx";
    strtr.Append(string.Format("<a href="+LinkName+" target=_blank style='color=black'>{0}</a>",dt.Rows[row][col].ToString()));
    strtr.Append("</td>");
    }

    }
    else
    {
    strtr.Append("<td class = 'tr1' style='text-align:right'>");
    strtr.Append(dt.Rows[row][col].ToString()+"&nbsp;&nbsp;&nbsp;");
    strtr.Append("</td>");
    }
    i++;
    }
    strtr.Append("</tr>");
    }
    strtr.Append("</table>");
    newHtml = newHtml.Replace("$zcfg",strtext1.ToString());
    newHtml = newHtml.Replace("$zztj",strtext1.ToString()); string prepage = "<font color = red>"+page.ToString()+"</font>";

    //替换标签中的内容
    newHtml = newHtml.Replace(tagname,strtr.ToString());
    newHtml = this.CreatePageNum(pages,newHtml,page,name);
    newHtml = newHtml.Replace("$title",TitleName);
    string SearchResultfile = HttpContext.Current.Server.MapPath(@"\CmsSystem\staticfile\"+name+"\\"+name+page+".aspx");
    code = Encoding.GetEncoding("unicode");
    sw = new StreamWriter(SearchResultfile,false,code);
    sw.Write(newHtml);
    sw.Flush();
    sw.Close();
    }
    //this.CreatePageNum(pages,newHtml); }

    #endregion
     
    #region 生成页码
    /// <summary>
    /// 
    /// </summary>
    /// <param name="rowNum">总页数</param>
    /// <param name="strhtml"></param>
    /// <param name="prepage">当前页码</param>
    /// <returns></returns>
    public string CreatePageNum(int pageNum,string strhtml,int prepage,string name)
    {
    string strlist = "";
    //连接文件名
    StringBuilder strLinkName = new StringBuilder();
    int pn = (int)Math.Ceiling(pageNum*1.0/20);
    int startPage = 1;
    int endPage = pageNum;
    for (int i = 2;i <= pn + 1;i=i+2)
    {
    if (prepage >=1 && prepage <= 20)
    {
    startPage = 1;
    endPage   = 20;
    break; }
    if (prepage > i*10 && prepage <= (i + 2) * 10)
    {
    startPage = i * 10 + 1;
    endPage   = (i + 2) * 10;
    break;
    }
    }
    if (endPage > pageNum)
    {
    endPage = pageNum;
    }

    int priorpage = prepage - 1;;
    int nextpage  = prepage + 1;
    if (prepage == 1)
    {
    priorpage = 1; }
    if (prepage == pageNum)
    {
    nextpage  = prepage;
    }
    strLinkName.Append("<td width = 50><a href="+name+"1.aspx"+">|<首页</a></td>");
    strLinkName.Append("<td width = 70><a href="+name+priorpage+".aspx"+"><<前一页</a></td>");
    if ((startPage-1) != 0)
    {
    strLinkName.Append("<td width = 10><a href="+name+(startPage-1)+".aspx"+"><</a></td>");
    }
    for (int j = startPage;j<= endPage;j++)
    {
    string strlink = name+j+".aspx";

    strLinkName.Append("<td width = 10><a href="+strlink+">"+j+"</a></td>");
    }
    if ((endPage+1) <= pageNum)
    {
    strLinkName.Append("<td width = 10><a href="+name+(endPage+1)+".aspx"+">></a></td>");
    }
    strLinkName.Append("<td width = 70><a href="+name+nextpage+".aspx"+">后一页>></a></td>");
    strLinkName.Append("<td width = 50><a href="+name+pageNum+".aspx"+">尾页>|</a></td>"); strhtml=strhtml.Replace("$linkTag",strLinkName.ToString());
    strlist = strhtml;
    return strlist;
    }
    #endregion
      

  5.   

    如果不采用上面的分页方式,采用js分页的话,请参照:
    http://download.csdn.net/source/2080859
    web开发经验总结中有
      

  6.   

    静态分页不需要ajax的,ni 你只要分成数组就OK
      

  7.   


          开玩笑的!能不接吗?吃水忘挖井人那不是俺干的事,况且还想以后在csdn常混呢! 参考的就是楼上的方法,到时我把大家的意见及实现方法都贴出来,让大家参考
      

  8.   

    静态页子分页 手动添加分割符http://download.csdn.net/source/1628484