生成静态分页 html 页面
前台就几个输入框,内容输入框用的是FreeTextBox框:
<%@ Page Language="C#" AutoEventWireup="true" ValidateRequest="false" CodeBehind="InsHtmlPage.aspx.cs" Inherits="JYWebBook.member.InsHtmlPage" %>
<%@ Register Assembly="FreeTextBox" Namespace="FreeTextBoxControls" TagPrefix="FTB" %>
<!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>添加文章并生成静态HTML页面</title>
<script language="JavaScript" type="text/javascript">
var timerID = null;
var timerRunning = false;
function stopclock (){
if(timerRunning)
clearTimeout(timerID);
timerRunning = false;
}
function startclock () {
stopclock();
showtime();
}
function showtime () {
var now = new Date();
var date=now.toLocaleDateString();
var hours = now.getHours();
var minutes = now.getMinutes();
var seconds = now.getSeconds()
//var timeValue = "" +((hours >= 12) ? "下午 " : "上午 " )
//timeValue += ((hours >12) ? hours -12 :hours)
var timeValue =date+" "+hours;
timeValue += ((minutes < 10) ? ":0" : ":") + minutes ;
timeValue += ((seconds < 10) ? ":0" : ":") + seconds ;
document.getElementById("txtTime").value = timeValue;
timerID = setTimeout("showtime()",1000);
timerRunning = true;
}
</script>
</head>
<body style="background-color: #5f94c0;" onload="startclock()">
<form id="form1" runat="server" >
<div>
<table cellpadding="4" cellspacing="0" border="0" width="75%">
<tr>
<td style="width:20%; text-align:right; font-size:14px;">文章标题:</td>
<td style="width:80%; text-align:left">
<input id="txtTitle" type="text" style="width: 500px" name="txtTitle" /></td>
</tr>
<tr>
<td style="text-align:right; font-size:14px;">
文章来自:</td>
<td style=" text-align:left">
<input id="txtUrl" type="text" style="width: 500px" name="txtUrl" /></td>
</tr>
<tr>
<td style="text-align:right; font-size:14px;">
文章作者:</td>
<td style=" text-align:left">
<input id="txtAuthor" type="text" style="width: 500px" name="txtAuthor" /></td>
</tr>
<tr>
<td style=" text-align:right; font-size:14px;">文章类别:</td>
<td style="text-align:left; ">
<select id="selType" style="width: 155px" name="selType">
<option selected="selected">科学>>技术>>编程</option>
<option >文化>>艺术>>流派</option>
<option >时尚>>潮流>>走秀</option>
<option >体育>>休闲>>足球</option>
<option >经济>>财经>>股市</option>
<option >政治>>生活>>时事</option>
</select>
<span style="font-size:14px"> 当前时间:</span>
<input name="txtTime" style="font-size: 9pt;color:#000000;border:0; width: 145px; height: 19px;" id="txtTime" readonly="readOnly" />
<input id="btnAdd" type="submit" value="提 交" runat="server" style="width: 71px; height: 23px" name="txtTitle" onserverclick="btnAdd_ServerClick" />
</td>
</tr>
<tr>
<td style="text-align:right;; font-size:14px;">
文章内容:</td>
<td style=" text-align:left; ">
<ftb:freetextbox id="ftbContent" runat="server" Width="500px" Height="300px" ButtonSet="OfficeXP"></ftb:freetextbox>
</td>
</tr>
<tr>
<td style="text-align:right;">
</td>
<td style=" text-align:center; ">
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
============================================ .cs文件
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;//新加命名空间
using System.Text;
using System.IO;
namespace JYWebBook.member
{
public partial class InsHtmlPage : System.Web.UI.Page
{
public string url;
public string strEncodeHtml;
public string strDecodeHtml;
protected void Page_Load(object sender, EventArgs e)
{
}
/// <summary>
/// 添加文章
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAdd_ServerClick(object sender, EventArgs e)
{
#region 获取页面上的数据
string strTitle = Request.Form["txtTitle"].ToString().Trim();//接收传过来的标题
string strfrom = Request.Form["txtUrl"].ToString().Trim(); //文章来自
string strAuthor = Request.Form["txtAuthor"].ToString().Trim();
string strType = Request.Form["selType"].ToString().Trim(); //文章类别
string strAddDate = Request.Form["txtTime"].ToString().Trim();//添加时间
//此处为解析和过滤文章内容的方法(根据需要写)
string strContent = Server.HtmlEncode(ftbContent.Text.Trim());//编码: <hr>编码后是 <hr>
strContent = Server.HtmlDecode(strContent);//解码: <hr> 解码后是:<hr>
#endregion
//添加文章数据到数据库中的方法==========================
//int intAddResult=remember.addContent();//可在此添加方法中返回一个值,添加成功就生成下面的静态html,否则不生成
//添加文章数据到数据库中的方法==========================
//if (intAddResult = 1)
//{
#region 将文章内容按指定长度拆分并保存到数组中(用于静态html分页)
int intPageSize = 1200;//设置文章内容分页字符串长度(自定义)
int intTotalPage = 0;
int intLength = strContent.Length;//文章长度
string[] content = null;
if (intPageSize < intLength)
{//如果分页字符串长度大于文章长度时就不用分页了
if (intLength % intPageSize != 0)
{
intTotalPage = intLength / intPageSize + 1;
for (int h = 1; h <= intTotalPage; h++)
{
if (intTotalPage != 1)
{
int num2 = intPageSize * h;
if (num2 < intLength)
{
if (h >= 2)//当循环执行2次或2次以上时,字符串长度要多加(h-1)
strContent = strContent.Insert(num2 + (h - 1), "Θ");
else
strContent = strContent.Insert(num2, "Θ");
}
}
}
}
}
content = strContent.Split(new Char[] { 'Θ' });//对文章内容进行拆分,并保存到数组中
#endregion
#region 文章内容生成静态html并在指定文件夹中生成
Random randobj = new Random();//随机数
string strDateTime = DateTime.Now.ToString("yyyyMMdd") + "-" + DateTime.Now.ToString("HHmmss");
string strDate = strDateTime.Trim() + "/" + DateTime.Now.ToString("HHmmss")
+ randobj.Next(1000, 10000).ToString(); //网页名
string strFileName = strDate + ".html"; //网页相对地址
this.url = strFileName;
///////////////////////////创建当前日期的文件夹开始
string dir = Server.MapPath("test/" + strDateTime.Trim());//以当前时间为文件夹名
if (!Directory.Exists(dir))//用来创建文件夹,如果不存在就创建文件夹
{
Directory.CreateDirectory(dir);
}
///////////////////////////创建当前日期的文件夹结束
try
{
for (int i = 0; i < content.Length; i++)//content为对接收后的文章内容进行拆分,并保存后的数组
{
StringBuilder strhtml = new StringBuilder(); //需引用 using System.Text,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能
//创建StreamReader对象读取不同路径下的模板并转换成字符串
//switch (strType) //对文章类别进行比较,以判断模板位置,此处只是例子,没做判断
//{
// case "文化>>艺术>>流派": //如“文化>>艺术>>流派” 类别下的模板
// using (StreamReader sr = new StreamReader(Server.MapPath("../art/Template.html"), Encoding.GetEncoding("gb2312")))
// {//StreamReader文本流读取器
// String oneline;
// //读取指定的HTML文件模板
// while ((oneline = sr.ReadLine()) != null) //读取../ad/Template.html"模板"流中的字符串
// {
// strhtml.Append(oneline); //用 StringBuilder 连接字符串
// }
// sr.Close(); //关闭StreamReader文本流读取器
// }
// break;
// default: //文章大类不同,读取不同路径下的模板
using (StreamReader sr = new StreamReader(Server.MapPath("test/Template.html"), Encoding.GetEncoding("gb2312")))
{
String oneline;
//读取指定的HTML文件模板
while ((oneline = sr.ReadLine()) != null)
{
strhtml.Append(oneline); //拼接从模板html解析出的字符串
}
sr.Close();//关闭StreamReader文本流读取器
}
// break;
//}
string FilePath = "";
strhtml = strhtml.Replace("Title", strTitle); //替换模板html中的Title为数据库(文章标题)
strhtml = strhtml.Replace("strType", strType.Trim());
strhtml = strhtml.Replace("strAuthor", strAuthor.Trim());
strhtml = strhtml.Replace("strFrom", strfrom.Trim());
strhtml = strhtml.Replace("strTime", strAddDate.Trim());
strhtml = strhtml.Replace("strContent", content[i]);
//strhtml = strhtml.Replace("ArticleUrl", this.url); //将当前文章的路径及文件名传给评论页以便返回
///////////////////////////////////////////对文章内容进行分页
int upbound = content.Length;//数组的上限,即长度
#region 分页效果:分页在下
//string strNumber = "";//数字分页1,2,3……
//for (int m = 1; m <= upbound; m++) // upbound 文章内容content数组的上限,即长度
//{
// if (m == 1)//如果是第一页就显示成这个样子:20070524.html而不是20070524_1.html
// strNumber = strNumber + " [" + "<a href=" + "../" + strDate + ".html" + ">" + m + "</a>" + "] ";
// else
// {
// int n = m - 1;//第三页的连接应该是20070524_2.shtml,以此类推
// strNumber = strNumber + " [" + "<a href=" + "../" + strDate + "_" + n + ".html" + ">" + m + "</a>" + "] ";
// }
//}
////动态生成table,要符合模板Template.html的table布局
//string strTable = "<table><tr><td>upUrl</td><td>Number</td><td>downUrl</td></tr></table>";//上下页(分页)表格,注意此处的upUrl(上一页),Number(页码分页),downUrl(下一页),这三个是用来替换的。
//if (upbound == 0)//如果没有分页,就直接按日期时间保存
//{
// FilePath = Server.MapPath("http://www.cnblogs.com/") + "//" + strDate + ".html";
// strhtml = strhtml.Replace("Pager", ""); //"Pager"为文章分页替换字符
//}
//else//否则按20070524.html、20070524_1.html 这种效果保存
//{
// if (i == 0)
// FilePath = Server.MapPath("test/") + "//" + strDate + ".html";
// else
// FilePath = Server.MapPath("test/") + "//" + strDate + "_" + i + ".html";
// if (i == 0)//第一页不显示“上一页”
// strTable = strTable.Replace("upUrl", ""); //strTable为分页表格的字符串
// if (i <= 1)//上一页分页,显示“上一页”图片
// strTable = strTable.Replace("upUrl", "<a href=" + "../" + strDate + ".html" + "><img src='http://www.cnblogs.com/Images/uppage.gif' width='69' height='21' border='0' /></a>");
// else
// {
// int p = i - 1; //显示禁用“上一页”图片
// strTable = strTable.Replace("upUrl", "<a href=" + "../" + strDate + "_" + p + ".html" + "><img src='http://www.cnblogs.com/Images/uppage.gif' width='69' height='21' border='0' /></a>");
// }
// if (upbound == 1)//// 文章内容content数组的上限,即长度;如果只有一页,则不显示页码
// strTable = strTable.Replace("Number", "");
// else
// strTable = strTable.Replace("Number", strNumber);//页码替换
// /**/
// ////////////////////////
// if (i == upbound - 1)//最后一页不显示“下一页”
// strTable = strTable.Replace("downUrl", "");
// if (i != upbound - 1)//下一页分页
// {
// int q = i + 1;
// strTable = strTable.Replace("downUrl", "<a href=" + "../" + strDate + "_" + q + ".html" + "><img src='http://www.cnblogs.com/Images/nextpage.gif' width='69' height='21' border='0' /></a>");
// }
// else
// {
// int j = upbound - 1; //显示禁用“下一页”图片
// strTable = strTable.Replace("downUrl", "<a href=" + "../" + strDate + "_" + j + ".html" + "><img src='http://www.cnblogs.com/Images/nextpage.gif' width='69' height='21' border='0' /></a>");
// }
// strhtml = strhtml.Replace("Pager", strTable);
//}
#endregion
#region 不同的分页效果:分页在上
string strNumber1 = "";
for (int m = 1; m <= upbound; m++)
{
if (m == 1)//如果是第一页就显示成这个样子:20070524.shtml而不是20070524_1.shtml
strNumber1 = strNumber1 + " [" + "<a href=" + "../" + strDate + ".html" + ">" + m + "</a>" + "] ";
else
{
int n = m - 1;//第三页的连接应该是20070524_2.shtml,以此类推
strNumber1 = strNumber1 + " [" + "<a href=" + "../" + strDate + "_" + n + ".html" + ">" + m + "</a>" + "] ";
}
}
if (upbound == 0)//如果没有分页,就直接按日期时间保存
{
FilePath = Server.MapPath("test/") + "//" + strDate + ".html";
strhtml = strhtml.Replace("topnum", "");
}
else//否则按20070524.shtml、20070524_1.shtml 这种效果保存
{
if (i == 0)
FilePath = Server.MapPath("test/") + "//" + strDate + ".html";
else
FilePath = Server.MapPath("test/") + "//" + strDate + "_" + i + ".html";
}
strhtml = strhtml.Replace("topnum", strNumber1);
strhtml = strhtml.Replace("Pager", Convert.ToString(i+1).Trim());
#endregion
//创建文件信息对象--------------------------------------------
FileInfo finfo = new FileInfo(FilePath);
using (FileStream fs = finfo.OpenWrite())//以打开或者写入的形式创建文件流
{
//根据上面创建的文件流创建写数据流
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.Default);
//把新的内容写到创建的HTML页面中
sw.WriteLine(strhtml);
sw.Flush(); //清空
sw.Close(); //关闭
}
}
//ClientScript.RegisterClientScriptBlock(this.GetType(), "", "alert('添加文章成功!');", true);
string strNewUrl = "test/" + url;
Response.Redirect(strNewUrl);
}
catch (Exception err)
{
//输出异常信息
Response.Write(err.ToString());
}
#endregion
//}
//else
// ClientScript.RegisterClientScriptBlock(this.GetType(), "", "alert('添加文章失败!');", true);
}
}
}
==============================================================
网页模板:乱写的,你自己去设计成 div+css
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>静态html分页例子</title>
<style type="text/css">
body {
color: #333;
background: #8fc1f4;
text-align: center;
font: 12px/1.5 Tahoma, Helvetica, Arial, sans-serif;
}
/*a:link, a:visited {
color: blue;
cursor:hand;
text-decoration: none;
}
Nav
==========================================================*/
.nav {
position: relative;
margin: 0 10px 10px;
background: url(http://www.cnblogs.com/ad/Images/nav_bg.png) no-repeat 0 -36px;
}
.navinner {
background: url(http://www.cnblogs.com/ad/images/nav_bg.png) no-repeat 100% -72px;
}
.navlist {
height: 36px;
line-height: 36px;
overflow: hidden;
margin: 0 10px;
background: url(http://www.cnblogs.com/ad/images/nav_bg.png) repeat-x 0 0;
}
.nav li {
float: left;
display: inline;
margin: 0 0 0 -2px;
padding: 0 4px 0 6px;
background: url(http://www.cnblogs.com/ad/images/nav_bg.png) no-repeat 0 -108px;
}
.nav a {
display: block;
width: 102px;
text-align: center;
font-size: 120%;
}
.nav a:link, .nav a:visited {
color: #fff;
}
.nav a.current, .nav a:hover, .nav a:active {
color: #fff;
font-weight: bold;
background: url(http://www.cnblogs.com/ad/images/nav_bg.png) no-repeat 50% -144px;
}
.subnav {
position: absolute;
top: 41px;
left: 0;
float: left;
height: 27px;
line-height: 27px;
white-space: nowrap;
background: url(http://www.cnblogs.com/ad/images/nav_bg.png) no-repeat 0 -180px;
}
* html .subnav {
margin: 0 10px 0 -10px; /* IE 6 and below */
}
.subnav p {
padding: 0 10px;
background: url(http://www.cnblogs.com/ad/images/nav_bg.png) no-repeat 100% -234px;
}
.subnav p span {
display: block;
background: url(http://www.cnblogs.com/ad/images/nav_bg.png) repeat-x 0 -207px;
}
.subnav p.pointer {
position: absolute;
top: -4px;
left: 0;
height: 5px;
width: 11px;
padding: 0;
margin-left: 20px;
text-indent: -999em;
background: url(http://www.cnblogs.com/ad/images/nav_bg.png) repeat-x 0 -261px;
}
.subnav a {
display: inline;
padding: 0;
font-size: 100%;
}
[class~="subnav"] a {
padding: 0 3px;
}
.subnav, .subnav a:link, .subnav a:visited {
color: #235e99;
}
.subnav a:hover, .subnav a:active {
color: #235e99;
}
.subnav a:hover, .subnav a:active {
font-weight: normal;
background: none;
border-bottom: 2px solid;
}
/* subnav position and pointer position */
#subnav1 { left: 120px; }
#subnav2 { left: 230px; }
#subnav3 { left: 340px; }
#subnav4 { left: 450px; }
#subnav5, #subnav6, #subnav7 {
left: auto;
right: 0px;
}
#subnav1 .pointer,
#subnav2 .pointer,
#subnav3 .pointer,
#subnav4 .pointer { left: 30px; }
#subnav5 .pointer { left: auto; right: 290px; }
#subnav6 .pointer { left: auto; right: 180px; }
#subnav7 .pointer { left: auto; right: 70px; }
#subnav1, #subnav2, #subnav3, #subnav4 {
min-width: 110px;
}
#subnav5 { min-width: 340px; }
#subnav6 { min-width: 240px; }
#subnav7 { min-width: 130px; }
/* Note
==========================================================*/
.note {
margin: 0 15px 10px;
color:#666666;
}
.note span{
float:right;
}
.disable {
display: none;
}
.STYLE1 {
font-size: 14px;
font-weight: bold;
color: #FFFFFF;
}
.STYLE3 {color: #07519a; font-size: 14px; }
.STYLE5 {color: #07519a; font-size: 12px; }
.STYLE6 {font-size: 12px; color: #333333; }
.STYLE7 {
color: #07519A;
font-weight: bold;
}
/*===================================================================
blue:蓝色、purple:紫色、red:红色、gray:灰色
通过这样的设置,一个普通的链接看上去是蓝色的;当鼠标指针移动到链接上时,链接会变成红色;在点击链接的过程中,链接变成灰色;链接变点击之后,颜色变成紫色。
*/
a:link{
color:blue;
text-decoration: none;/*去除链接下划线*/
}
a:visited{
/*color:purple;*/
text-decoration: none;/*去除链接下划线*/
}
a:hover{
cursor:hand;
color:red;
text-decoration: none;/*去除链接下划线*/
}
a:active{
color:gray;
text-decoration: none;/*去除链接下划线*/
}
</style>
<script type="text/javascript">
function isMatch(str1,str2)
{
var index = str1.indexOf(str2);
if(index==-1) return false;
return true;
}
function ResumeError() {
return true;
}
window.onerror = ResumeError;
function $(id) {
return document.getElementById(id);
}
function showMenu (baseID, divID) {
baseID = $(baseID);
divID = $(divID);
//var l = GetOffsetLeft(baseID);
//var t = GetOffsetTop(baseID);
//divID.style.left = l + 'px';
// divID.style.top = t + baseID.offsetHeight + 'px';
if (showMenu.timer) clearTimeout(showMenu.timer);
hideCur();
divID.style.display = 'block';
showMenu.cur = divID;
if (! divID.isCreate) {
divID.isCreate = true;
//divID.timer = 0;
divID.onmouseover = function () {
if (showMenu.timer) clearTimeout(showMenu.timer);
hideCur();
divID.style.display = 'block';
};
function hide () {
showMenu.timer = setTimeout(function () {divID.style.display = 'none';}, 1000);
}
divID.onmouseout = hide;
baseID.onmouseout = hide;
}
function hideCur () {
showMenu.cur && (showMenu.cur.style.display = 'none');
}
}
</script>
</head>
<body>
<table width="950" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="335" height="75"><img src="http://images.cnblogs.com/head_01.gif" /></td>
<td width="615"> </td>
</tr>
</table>
<table width="970" border="0" cellspacing="0" cellpadding="0">
<tr>
<td style="background-image: url(http://images.cnblogs.com/head_02.gif)"><div class="nav">
<div class="navinner">
<ul class="navlist">
<li><a href="#">首页</a></li>
<li><a href="#" id="nav_1" onmouseover="showMenu('nav_1','subnav1')">新闻资讯</a>
<div class="subnav disable" id="subnav1">
<p class="pointer">.</p>
<p><span> <a href="#">新闻中心</a> | <a href="#">新闻公关</a> </span></p>
</div>
</li>
<li><a href="#" id="nav_2" onmouseover="showMenu('nav_2','subnav2')">数字媒体</a>
<div class="subnav disable" id="subnav2">
<p class="pointer">.</p>
<p><span> <a href="#">数字媒体信息</a> | <a href="#">广告产品</a> </span></p>
</div>
</li>
<li><a href="#" id="nav_3" onmouseover="showMenu('nav_3','subnav3')">网络菅销</a>
<div class="subnav disable" id="subnav3">
<p class="pointer">.</p>
<p><span> <a href="#">网络营销常识</a> | <a href="#">产品介绍</a> | </span></p>
</div>
</li>
<li><a href="#" id="nav_4" onmouseover="showMenu('nav_4','subnav4')">成功案例</a>
<div class="subnav disable" id="subnav4">
<p class="pointer">.</p>
<p><span> <a href="#">精彩创意</a> | <a href="#">网而告之创意</a> | </span></p>
</div>
</li>
<li><a href="#" id="nav_5">产生价值</a> </li>
<li><a href="#" id="nav_6">支付方式</a> </li>
<li><a href="#" id="nav_7">投放流程</a> </li>
</ul>
</div>
</div></td>
</tr>
</table>
<center>
<table width="950" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="5" colspan="3"> </td>
</tr>
<tr>
<td width="720" height="351" valign="top" >
<table width="99%" height="349" border="0" cellpadding="0" cellspacing="0" bgcolor="#E6F4FC">
<tr>
<td> </td>
</tr>
<tr>
<td height="33"><div align="center" class="STYLE7">Title</div>
<hr width="80%" color="#608BB5"/></td>
</tr>
<tr>
<td height="25"><div class="STYLE5 STYLE3" align="center">
作者:<span class="STYLE6">strAuthor</span> | 类别:<span class="STYLE6">strType</span> | 日期:<span class="STYLE6">strTime</span>
</div></td>
</tr>
<tr>
<td height="25"><div class="STYLE5 STYLE3" align="center">
引用至:<span class="STYLE6">strFrom</span></div></td>
</tr>
<tr>
<td height="238" valign="top"><table width="96%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="right" style="text-align: center">
<div style="float:left; width:55%; text-align: right;"></div>
<div style="float:right;width:40%; text-align: right;">
<span class="STYLE6">第 topnum 页</span>
</div>
</td>
</tr>
<tr>
<td style=" text-align:left; width: 600px;word-wrap:break-word ;"><div class="STYLE5 STYLE6"><pre>strContent</pre></div></td>
</tr>
<tr>
<td style="height:30px; text-align: center;" align="left">
第 Pager 页<br />
<hr size="1" style="border:solid"/>
</td>
</tr>
<tr><td> </td></tr>
</table></td>
</tr>
</table></td>
<td width="9" > </td>
<td width="221" height="351" valign="top" bgcolor="E6F4FC" >
广告业务
</td>
</tr>
<tr>
<td height="25" colspan="3">
</td>
</tr>
</table>
<br />
<table width="950" border="0" align="center" cellpadding="0" cellspacing="0" style="display:none">
<tr>
<td><iframe id="Iframe3" src="http://images.cnblogs.com/head_03.gif" frameborder="0" scrolling="No" width="950"></iframe></td>
</tr>
</table>
<br><br><br>
<hr>
</center>
</body>
</html>