asp.net做个批量生成html的网站,生成静态页图片翻页怎么做啊?index_1.html,index_2.html 这样子 上一页1 2 3 4 5下一页
asp.net做个批量生成html的网站,生成静态页图片翻页怎么做啊index_1.html,index_2.html 这样子
上一页1 2 3 4 5下一页
或者
上一页 下拉列表(可以选择页) 下一页
各们大哥怎么实现??
是个图片站index_1.html,index_2.html,index_3.html,index_4.html每个页不同的图片。
请教... --------------------编程问答-------------------- 分页我一般还是用动态分页,然后重写url为.htm --------------------编程问答-------------------- 分页在生成时就应该把相应的页面链接写进去阿;
分页其实比较难以实现的功能是在数据量巨大的情况下,添加一条数据就要生成大量的页面对服务器造成负担;
比如:我有10万条数据,每页显示10条,一共有1w个静态页面,我添加一条数据时,会造成需要更新这1万个页面,服务器的负担就可想而知了
我一般采取生成前20(50)页的策略来实现,这个是针对新闻的,图片站并不一定适合; --------------------编程问答-------------------- 楼上说的就是这个道理,所以在大数据量的情况下,没有动态分页来得方便。 --------------------编程问答-------------------- 用动态的话,服务器负载太大了啊,不过我的图片是遍历的,不用连接数据库,这样服务器的负载不会那么大吧?? --------------------编程问答-------------------- 现在国外都在流行一个SideCore软件
它是基于微软 .NET 平台开发的网站内容管理系统,它集成了内容发布管理、多站点集成、信息采集、搜索引擎优化、全文检索等多项强大功能,能够生成纯静态页面,独创的 STL 模版语言,通过Dreamweaver可视化插件能够轻易编辑模版样式...
功能很强大哦,我现在也在研究。 --------------------编程问答-------------------- 翻页这些都是生成相对应的就可以了 --------------------编程问答--------------------
有没有这软件啊? --------------------编程问答-------------------- 每一页生成一个页面,翻页的时候用超链接 --------------------编程问答-------------------- 建议用动态分页+url重写 --------------------编程问答--------------------
是的,我也顶楼上的!
但,我不知道怎么做“URL重写”!
楼上的能告诉在下吗?!
多谢先! --------------------编程问答--------------------
是的,我也顶楼上的!
但,我不知道怎么做“URL重写”!
楼上的能告诉在下吗?!
多谢先! --------------------编程问答-------------------- 语言实在不懂怎么说,直接给个以前自己写的代码吧,这种其实,比较喜欢用ajax来做,但BOSS又喊SEO啊。。。。。。。。烦
--------------------编程问答-------------------- ......................几年前的贴子 --------------------编程问答-------------------- 分页我一般还是用动态分页,然后重写url为.htm
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.IO;
using System.Text;
namespace Web
{
//信息类型的分类生成HTML
public class knowListClass
{
public knowListClass()
{
}
/// <summary>
/// 返回案例的翻页字符串,这里四页面为一组
/// </summary>
/// <param name="page">当前页的号数</param>
/// <param name="allPage">总页数</param>
/// <param name="allRows">信息的类型</param>
/// <returns></returns>
private string getPageStr(int page, int allRows,string listCalss)
{
//所有页数
int allPage = allRows % 10 == 0 ? allRows / 10 : allRows / 10 + 1;
//组数
int pageGrous = allPage % 5 == 0 ? allPage / 5 : allPage / 5 + 1;
int CurrentArry;
string pageUP = "", pageDown = "", pageStr = "";
if (page % 5 == 0)
{
CurrentArry = page / 5;
}
else
{
CurrentArry = ((page / 5) + 1);
}
//循环构成翻页数
for (int i = (CurrentArry - 1) * 5 + 1; i <= ((CurrentArry - 1) * 5) + 5; i++)
{
///如果是当前页,则设置为红色
if (i == page)
{
pageStr += "<a href=\""+listCalss+"" +i.ToString ()+ ".html\" style=\"color:red\">[ " + i + " ]</a> ";
}
else
{
pageStr += "<a href=\""+listCalss+""+ i.ToString() + ".html\" style=\"color:Gray\">[ " + i + " ]</a> ";
}
////如果大于最大的页数则跳出
int result = allRows % 10 == 0 ? allRows / 10 : allRows / 10 + 1;
if (i >= result)
break;
}
//下一页的判断
if (CurrentArry >= pageGrous)
{
pageDown = "";
}
else
{
pageDown = "<a href=\""+listCalss+""+(CurrentArry * 5 + 1).ToString () + ".html\" style=\"color:red\">下一页</a> ";
}
//上一页的判断
if (CurrentArry <= 1)
{
pageUP = "";
}
else
{
pageUP = "<a href=\""+listCalss+""+((CurrentArry - 1)*5 - 4)+ ".html\" style=\"color:red\">上一页</a> ";
}
string allcaseList = "共[" + allRows + "]条信息" + " 共 " + allPage + "页" + " 当前第[" + CurrentArry + "]页 ";
string lastPage = allcaseList + pageUP + pageStr + pageDown;
return lastPage;
}
/// <summary>
/// 生成
/// </summary>
/// <returns></returns>
public bool caseList( int classId, string listCalss)
{
bool last = false;
BLL.wpf_bll_news bll = new BLL.wpf_bll_news();
DataSet myset = new DataSet();
if (bll.newsall(myset, "tableKnowList", classId))
{
int htmlId = 1;
//取出总行数
int allRows = myset.Tables["tableKnowList"].Rows.Count;
//如果没有数据,则直接退出
if (allRows <= 0)
return false;
string pageDate = "";
for (int i = 0; i <= allRows - 1; i++)
{
string new_title = myset.Tables["tableKnowList"].Rows[i]["new_title"].ToString();
string new_ID = myset.Tables["tableKnowList"].Rows[i]["new_ID"].ToString();
string conten = CheckDate.NoHTML(myset.Tables[0].Rows[i]["new_conten"].ToString()).Length > 250 ? CheckDate.NoHTML(myset.Tables[0].Rows[i]["new_conten"].ToString()).Substring(0, 250) + "....." : CheckDate.NoHTML(myset.Tables[0].Rows[i]["new_conten"].ToString());
pageDate += "<li class=\"zhouyi_select_li\"><div class=\" zhouyi_select_hd\"><h2><a href=\"" + "news" + new_ID.ToString() + ".html\"> " + new_title + "</a></h2></div>"
+ " <div class=\"fl\">" +conten+ "</div></li> ";
//够一页了,每一页五条数据
if ((i + 1) % 10== 0)
{
string pageStr = getPageStr(htmlId, allRows, listCalss);
FileStream tFile = File.Open(System.Web.HttpContext.Current.Server.MapPath("./templateFile/knowListClass.html"), FileMode.Open, FileAccess.Read);
StreamReader reader = new StreamReader(tFile, Encoding.GetEncoding("gb2312"));
StringBuilder sb = new StringBuilder(reader.ReadToEnd());
reader.Close();
sb.Replace("{$_pageDataList_$}", pageDate);
sb.Replace("{$_page_$}", pageStr);
string _class = "";
switch (classId.ToString ())
{
case "3":
_class = "一周之星";
break;
case "4":
_class = "趣味问题";
break;
case "5":
_class = "名词解释";
break;
case "6":
_class="常见问题";
break ;
default:
_class="技术知识";
break ;
}
sb.Replace("{!_calss_!}", _class);
string fileName = listCalss + htmlId + ".html";
FileStream rFile = File.Create(System.Web.HttpContext.Current.Server.MapPath("./html") + "/" + fileName);
StreamWriter writer = new StreamWriter(rFile, Encoding.GetEncoding("gb2312"));
writer.Write(sb.ToString());
writer.Flush();
writer.Close();
htmlId++;
pageDate = "";
pageStr = "";
}
。
,
,
,
,
,
,
,
下面的代码就不贴了,主要的就在这里
补充:.NET技术 , ASP.NET