int num = 0;
string sql = "insert into news(title,content,bigclassname,[user],infotime,hits,upfile) values(@title,@content,@ddl,@name,@time,@num,@filename)";
oledbparameter[] para = new oledbparameter[] {
new oledbparameter("@title",txttitle.text),
new oledbparameter("@content",fckeditor1.value),
new oledbparameter("@ddl",ddllei.selecteditem.value),
new oledbparameter("@name",txtname.text),
new oledbparameter("@time",txttime.text),
new oledbparameter("@num",num),
new oledbparameter("@filename",filename)
};
db.executecommand(sql, para);
string mbpath = server.mappath("../template/news.html");
encoding code = encoding.getencoding("gb2312");
streamreader sr = null;
streamwriter sw = null;
string str = null;//读取
try
{
sr = new streamreader(mbpath, code);
str = sr.readtoend();}
catch (exception ex)
{
throw ex;
}
finally
{
sr.close();
}
string strmax = "select id from news order by id desc";
int newsid = convert.toint32(db.readout2(strmax))+1;
//根据时间自动重命名,扩展名也可以自行修改
string filename = "news_" + newsid + ".shtml";str = str.replace("#title#", txttitle.text);
str = str.replace("#infotime#", txttime.text);
str = str.replace("#content#", fckeditor1.value);
//生成静态文件
try
{
sw = new streamwriter(server.mappath("http://www.cnblogs.com/") + filename, false, code);
sw.write(str);
sw.flush();fenye();
}
catch (exception ex)
{
throw ex;
}
finally
{
sw.close();
}
response.write("<script language=网页特效>alert('添加成功!');location.href='newsmanage.asp教程x';</script>");//分页
public void fenye()
{
string str = "select * from news order by id desc";
datatable tb = db.mydataadapter(str);
datarow dr;//最后一页是否整页
int m = 0;
//页数
int pg = 0;
if (tb.rows.count % 10 == 0)
{
pg = tb.rows.count / 10;
}
else
{
pg = convert.toint32(tb.rows.count / 10) + 1;
m = 1;
}//分页
string pglist = "";
for (int i = 1; i <= pg; i++)
{
pglist += " <a href="" + i + ".html">" + i + "</a>";
}
pglist = "<div >共"+pg+"页 <a href="1.html">首页</a>" + pglist + "<a href="" + pg + ".html"> 尾页</a></div> ";for (int j = 1; j <= pg; j++)
{
//建立一个stringbuilder对象
stringbuilder sb = new stringbuilder();//读取模板
using (streamreader sr = new streamreader(server.mappath("../template/index.html"), system.text.encoding.default, true))
{//将模板写入streambuilder
sb.append(sr.readtoend().tostring());
}//删除原有文件
// file.delete("../....//news/" + j.tostring() + ".html");string title = "";
string ublist = "";
string infotime = "";
string id = "";
if (m == 1 && j == pg)//不是整页
{
//for (int i = 1 + 10 * (j - 1); i <= (tb.rows.count - 10 * (pg - 1)); i++)
for (int i = 1 + 10 * (j - 1); i <= (tb.rows.count); i++)
{
dr = tb.rows[i - 1];
title = dr["title"].tostring();
id = dr["id"].tostring();
infotime = dr["infotime"].tostring();
ublist += "<table border="0" cellpadding="0" cellspacing="0" style="width:610px; line-height:10px" >";
ublist += " <tr ><td align="left"> "+i+"<a href="news/news_" + id + ".shtml">→" + title + "</a> </td><td align="right" >" + infotime + "</td></tr></table>";
}
}
else//是整页
{
for (int i = 1 + 10 * (j - 1); i <= 10 * j; i++)
{
dr = tb.rows[i - 1];
id = dr["id"].tostring();
title = dr["title"].tostring().replace(" ", "");
infotime = dr["infotime"].tostring().replace(" ", "");
ublist += "<table border="0" cellpadding="0" cellspacing="0" style="width:610px; line-height:25px" >";
ublist += " <tr ><td align="left"> " + i + "<a href="news/news_" + id + ".shtml">→" + title + "</a> </td><td align="right" >" + infotime + "</td></tr></table> ";
}
}//替换模板中的内容...
sb.replace("$title$", ublist);
//替换分页
sb.replace("$pglist$", pglist);using (streamwriter sw = new streamwriter(server.mappath("http://www.cnblogs.com/news/" + j.tostring() + ".html"), false, system.text.encoding.default, 100))
{//写出.html文件
sw.writeline(sb);sw.flush();
sw.close();
}}
}
一键生成静态页面
protected void btnhtml_click(object sender, eventargs e)
{
string sql = "select * from news order by id desc";
datatable dt = db.mydataadapter(sql);
if (dt.rows.count > 0)
{
for (int i = 0; i < dt.rows.count; i++)
{
string mbpath = server.mappath("../template/news.html");
encoding code = encoding.getencoding("gb2312");
streamreader sr = null;
streamwriter sw = null;
string str = null;//读取
try
{
sr = new streamreader(mbpath, code);
str = sr.readtoend();}
catch (exception ex)
{
throw ex;
}
finally
{
sr.close();
}
//根据时间自动重命名,扩展名也可以自行修改
string filename = "news_" + dt.rows[i]["id"].tostring() + ".shtml";
str = str.replace("#title#", dt.rows[i]["title"].tostring());
str = str.replace("#infotime#", dt.rows[i]["infotime"].tostring());
str = str.replace("#content#", dt.rows[i]["content"].tostring());
//生成静态文件
try
{
sw = new streamwriter(server.mappath("http://www.cnblogs.com/" + "news" + "/") + filename, false, code);
sw.write(str);
sw.flush();
this.page.clientscript.registerstartups教程cript(gettype(), "", "<script>alert('生成成功!')</script>");}
catch (exception ex)
{
throw ex;
}
finally
{
sw.close();
}
}}
else
{
this.page.clientscript.registerstartupscript(gettype(), "", "<script>alert('暂无数据')</script>");
}
}
.net生成静态页面并生成分页代码
时间: 2024-11-06 11:25:08
.net生成静态页面并生成分页代码的相关文章
.NET新闻发布生成静态页面并实现分页
.NET新闻发布生成静态页面并实现分页 1.静态模板页面 template.html,主要是定义了一些特殊字符,用来被替换. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type
.net生成静态页面原理与代码
一种是直接访问动态页面地址,将其生成的html代码保存成静态页面.另一种是通过读取页面模板,对其中需要替换的内容进行替换的方式进行生成.其中前一种方法简单,对于生成单个页面或少量页面比较实用,而对大量的页面且页面之间彼此关联复杂的,第一种就不太方便.对于使用模板的方法稍微复杂,这里不详细讨论,只给出第一种方法应对不太复杂的项目的应用. 给定生成静态页面入口页面地址,比如index.asp教程x,通过查找其中以href=开始的链接的页面地址,对其按一定规则进行替换后,生成静态化之后的index.h
PHP生成静态页面的方法
在PHP网站开发中为了网站推广和SEO等需要,需要对网站进行全站或局部静态化处理,PHP生成静态HTML页面有多种方法,比如利用PHP模板.缓存等实现页面静态化,今天就以PHP实例教程形式讨论PHP生成静态页面的方法.页面静态化的方法,分为两种,一种是伪静态,就是url 重写,一种是你真的静态化.下面介绍PHP中页面静态化的方法. 什么是PHP静态化 PHP静态化的简单理解就是使网站生成页面以静态HTML的形式展现在访客面前,PHP静态化分纯静态化和伪静态化,两者的区别在于PHP生成静态页面的处
ASP.NET动态生成静态页面的实例代码
生成静态页有很多好处,可以缓解服务器压力.方便搜索网站搜索等等,下面介绍一下生成静态页的实例代码,有需要的朋友可以参考一下 最近突然想把项目中新闻管理模块做成静态页,在网上找到很多很好的文章,在这里记录一下,现在只是实现静态页面的生成并没有实现分页功能.其主要原理就是读取数据库的数据然后替换掉静态模板页的内容. 首先制作一个模板页,暂时命名为template.htm,示例代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transit
Asp.net生成静态页面并分页
asp教程.net生成静态页面并分页 <!doctype html public "-//w3c//dtd html 4.01 transitional//en""http://www.w3.org/tr/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="conte
php 生成静态页面的办法与实现代码详细版_php实例
php中主要用到的就是要用到fread()和fwirte().而静态页面生成了之后,就会牵扯到修改的问题.这里可以用到正则匹配的方法来替换模版中改变的部位.不过此种方法太麻烦,值得推荐的方法是直接把原来生成的模版砍掉,重新生成,呵呵,真正的一了百了. 还需要说明的一点就是,这种生成静态页面的方法一般都用于那些变化不是很频繁的页面,比如信息的最终页面.而针对列表页,如果信息更新不是很频繁的话,也是可取的.现在网上流行好多可以生成静态页面的blog或者论坛程序,都是通过手动点击后台"生成html页&
ASP.NET动态生成静态页面的实例代码_实用技巧
最近突然想把项目中新闻管理模块做成静态页,在网上找到很多很好的文章,在这里记录一下,现在只是实现静态页面的生成并没有实现分页功能.其主要原理就是读取数据库的数据然后替换掉静态模板页的内容.首先制作一个模板页,暂时命名为template.htm,示例代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-trans
Java 项目生成静态页面的代码_JSP编程
不外乎有以下因素: 1.从页面加载时间来看:静态页面不需要与数据库建立连接,尤其是访问数据量较大的页面,这种页面大多要查很多结果集,因此建立连接次数就增多了,时间不可观,而静态页面则省去了这些时间. 2.从便于搜索引擎抓取的角度来讲:搜索引擎更喜欢静态的网页,静态网页与动态网页相比,搜索引擎更喜欢静的,更便于抓取,搜索引擎SEO排名更容易提高,一些大门户站页面大多都采用静态或伪静态网页来显示,更便于搜索引擎抓取与排名. 3.从安全性来看:静态网页不宜遭到黑客攻击,因为黑客不知道你的网站的后台.网
php 利用数据库信息生成静态页面实例代码
代码如下 复制代码 $con=mysql教程_connect("localhost","root","")or die("链接错误!!!"); mysql_select_db("message",$con)or die("数据库链接错误!!!"); mysql_query("set names 'gbk'"); $sql=mysql_query("sele