我用的是freetextbox,如果文章过长我会考虑分页,我写的分页过程如下:
#region 显示文章内容
private void ContentShow(string Content1,string DefaultPic,int MaxLength,int MaxCharPerPage)
{
Response.Write(Server.HtmlEncode(Content1.Substring(0,MaxCharPerPage)));
if(MaxLength%MaxCharPerPage!=0)
{
PageCount = MaxLength/MaxCharPerPage+1;
}
else
{
PageCount = MaxLength/MaxCharPerPage;
}
if(Request.QueryString["Page"]==null)
{
Content.Text = (DefaultPic.Trim()==""?"":"<img src=../News/" + DefaultPic.Replace("SmallImage","BigImage") + " width=500><br>") + Content1.Substring(0,MaxCharPerPage);
}
else
{
CurrentPage = int.Parse(Request.QueryString["Page"]);
if(CurrentPage!=PageCount)
{
Content.Text =Content1.Substring(MaxCharPerPage*(CurrentPage-1),MaxCharPerPage*CurrentPage);
}
else
{
Content.Text =Content1.Substring(MaxCharPerPage*(CurrentPage-1),MaxLength-1);
} }
}
#endregion #region 文章进行分页
private void NewPageShow(int MaxLength,int MaxCharPerPage)
{
if(MaxLength%MaxCharPerPage!=0)
{
PageCount = MaxLength/MaxCharPerPage+1;
}
else
{
PageCount = MaxLength/MaxCharPerPage;
}
if(Request.QueryString["Page"]!=null)
{
CurrentPage = int.Parse(Request.QueryString["Page"]);
}
else
{
CurrentPage = 1;
}
PageShow1.Text="共有" + PageCount.ToString() + "页,当前第" + CurrentPage.ToString() + "页[ ";
for(int i=0;i<=PageCount-1;i++)
{
if(CurrentPage!=i+1)
{
PageShow1.Text +="<a href = News_Show.aspx?BoardID=" + Request.QueryString["BoardID"] + "&NoteID=" +
Request.QueryString["NoteID"] + "&Page=" +(i+1).ToString() + ">" + (i+1).ToString() + "</a> ";
}
else
{
PageShow1.Text +="<font color=red>" + (i+1).ToString() + "</font> "; }
}
PageShow1.Text += "]";
}
#endregion
============================
好象可以分页,不过麻烦就在于保存到数据库的freetextbox的内容含有html代码,这下就麻烦了,
如果我里面有一个<table><tr><td></td></table>
我分页刚好分到</td>,那么我的页面布局不就乱套了吗?,请问你们平常是怎么分页,高手们请指教!!
#region 显示文章内容
private void ContentShow(string Content1,string DefaultPic,int MaxLength,int MaxCharPerPage)
{
Response.Write(Server.HtmlEncode(Content1.Substring(0,MaxCharPerPage)));
if(MaxLength%MaxCharPerPage!=0)
{
PageCount = MaxLength/MaxCharPerPage+1;
}
else
{
PageCount = MaxLength/MaxCharPerPage;
}
if(Request.QueryString["Page"]==null)
{
Content.Text = (DefaultPic.Trim()==""?"":"<img src=../News/" + DefaultPic.Replace("SmallImage","BigImage") + " width=500><br>") + Content1.Substring(0,MaxCharPerPage);
}
else
{
CurrentPage = int.Parse(Request.QueryString["Page"]);
if(CurrentPage!=PageCount)
{
Content.Text =Content1.Substring(MaxCharPerPage*(CurrentPage-1),MaxCharPerPage*CurrentPage);
}
else
{
Content.Text =Content1.Substring(MaxCharPerPage*(CurrentPage-1),MaxLength-1);
} }
}
#endregion #region 文章进行分页
private void NewPageShow(int MaxLength,int MaxCharPerPage)
{
if(MaxLength%MaxCharPerPage!=0)
{
PageCount = MaxLength/MaxCharPerPage+1;
}
else
{
PageCount = MaxLength/MaxCharPerPage;
}
if(Request.QueryString["Page"]!=null)
{
CurrentPage = int.Parse(Request.QueryString["Page"]);
}
else
{
CurrentPage = 1;
}
PageShow1.Text="共有" + PageCount.ToString() + "页,当前第" + CurrentPage.ToString() + "页[ ";
for(int i=0;i<=PageCount-1;i++)
{
if(CurrentPage!=i+1)
{
PageShow1.Text +="<a href = News_Show.aspx?BoardID=" + Request.QueryString["BoardID"] + "&NoteID=" +
Request.QueryString["NoteID"] + "&Page=" +(i+1).ToString() + ">" + (i+1).ToString() + "</a> ";
}
else
{
PageShow1.Text +="<font color=red>" + (i+1).ToString() + "</font> "; }
}
PageShow1.Text += "]";
}
#endregion
============================
好象可以分页,不过麻烦就在于保存到数据库的freetextbox的内容含有html代码,这下就麻烦了,
如果我里面有一个<table><tr><td></td></table>
我分页刚好分到</td>,那么我的页面布局不就乱套了吗?,请问你们平常是怎么分页,高手们请指教!!
如文章分成3段,数组长度是3,你可以输出news.aspx?len_id=3,news.apsx?len_id=2,等,在
news.aspx里先把内容取出,分成数组,然后根据传递的len_id值来判断输出哪个段落,明白没,我刚好也在做这样一个项目,刚做完,效果还可以