解决方案 »
- ExtJs GridPanel 非常简单且怪的问题,搞定马上结
- 急急急!高手新手皆可进
- 关于自定义设备操作
- Repeater怎么才能设置一个主键
- 一个问题问了N次怎么就没有人能回答啊,关于GridView中的checkbox问题
- 关于htmtable行能优化的问题
- 未能在设计视图中打开,在<%..."值"...%>块中,以不同方式将值括起来.
- 关于在datagrid的模板列里面button控件的Attributes.Add("onclick","alert('adf');")
- 这样的正则提取规则怎么写啊!提取标题和URL!
- 客户端 无法接受到 ASP.NET 网页的Cookies
- 关于textbox只能输入数字问题
- asp.net 如何播放FLV视频
奉献完整的代码:
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]+"     "));
}
else
{
strtext.Append(string.Format("<td><a href= target=_blank class=t2>{0}</a></td>", ds.Tables[0].Rows[iRowIndex][iColIndex]+"     "));
}
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
}
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
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
/// <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()+" ");
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
http://download.csdn.net/source/2080859
web开发经验总结中有
开玩笑的!能不接吗?吃水忘挖井人那不是俺干的事,况且还想以后在csdn常混呢! 参考的就是楼上的方法,到时我把大家的意见及实现方法都贴出来,让大家参考