仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 364|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网页设计怎样天生静态页面的五种计划

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:12:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。静态|页面  计划1:
///<summary>
///传进URL前往网页的html代码
///</summary>
///<paramname="Url">URL</param>
///<returns></returns>
publicstaticstringgetUrltoHtml(stringUrl)
{
errorMsg="";
try
{
System.Net.WebRequestwReq=System.Net.WebRequest.Create(Url);
//Gettheresponseinstance.
System.Net.WebResponsewResp=wReq.GetResponse();
//ReadanHTTP-specificproperty
//if(wResp.GetType()==HttpWebResponse)
//{
//DateTimeupdated=((System.Net.HttpWebResponse)wResp).LastModified;
//}
//Gettheresponsestream.
System.IO.StreamrespStream=wResp.GetResponseStream();
//DimreaderAsStreamReader=NewStreamReader(respStream)
System.IO.StreamReaderreader=newSystem.IO.StreamReader(respStream,System.Text.Encoding.GetEncoding("gb2312"));
returnreader.ReadToEnd();
}
catch(System.Exceptionex)
{
errorMsg=ex.Message;
}
return"";
}
  你能够用这个函数猎取网页的客户真个html代码,然后保留到.html文件里就能够了。
  计划2:
  天生单个的静态页面不是难点,难的是各个静态页面间的联系关系和链接怎样坚持完全;出格是在页面频仍更新、修正、或删除的情形下;
  像阿里巴巴的页面也全体是html的,估量用的是地点映照的功效关于地点映照可参考:http://www.easewe.com/Article/ShowArticle.aspx?article=131
  能够看看这个页面,剖析一下他的“竞价倒计时”功效http://info.china.alibaba.com/news/subject/v1-s5011580.html?head=top4&Bidding=home5
  ASP.Net天生静态HTML页
  在Asp中完成的天生静态页用到的FileSystemObject工具!
  在.Net中触及此类操纵的是System.IO
  以下是程序代码注:此代码非原创!参考他人代码
CODE:
//天生HTML页
publicstaticboolWriteFile(stringstrText,stringstrContent,stringstrAuthor)
{
stringpath=HttpContext.Current.Server.MapPath("/news/");
Encodingcode=Encoding.GetEncoding("gb2312");
//读取模板文件
stringtemp=HttpContext.Current.Server.MapPath("/news/text.html");
StreamReadersr=null;
StreamWritersw=null;
stringstr="";
try
{
sr=newStreamReader(temp,code);
str=sr.ReadToEnd();//读取文件
}
catch(Exceptionexp)
{
HttpContext.Current.Response.Write(exp.Message);
HttpContext.Current.Response.End();
sr.Close();
}


stringhtmlfilename=DateTime.Now.ToString("yyyyMMddHHmmss")+".html";
//交换内容
//这时候,模板文件已读进到称号为str的变量中了
str=str.Replace("ShowArticle",strText);//模板页中的ShowArticle
str=str.Replace("biaoti",strText);
str=str.Replace("content",strContent);
str=str.Replace("author",strAuthor);
//写文件
try
{
sw=newStreamWriter(path+htmlfilename,false,code);
sw.Write(str);
sw.Flush();
}
catch(Exceptionex)
{
HttpContext.Current.Response.Write(ex.Message);
HttpContext.Current.Response.End();
}
finally
{
sw.Close();
}
returntrue;
  此函数放在Conn.CS基类中了在增加旧事的代码中援用注:工程名为Hover
if(Hover.Conn.WriteFilethis.Title.Text.ToString),this.Content.Text.ToString),this.Author.Text.ToString)))
{
Response.Write("增加乐成");
}
else
{
Response.Write("天生HTML堕落!");
}
  模板页Text.html代码
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<HTML>
<HEAD>
<title>ShowArticle</title>
<body>
biaoti
<br>
content<br>
author
</body>
</HTML>
biaoti
<br>
content<br>
author
</body>
</HTML>

  提醒增加乐成后会出以以后工夫为文件名的html文件!下面只是把传送过去的几个参数间接写进了HTML文件中,在实践使用中必要先增加数据库,然后再写进HTML文件
  计划3:给一个客户端参考的例子(SJ)
  它的感化在于以客户真个体例猎取某个页面的代码,然后能够做为其他用处,本例是间接输入
<script>
varoXmlHttp=newActiveXObject("Microsoft.XMLHTTP");
oXmlHttp.open("GET","http://www.webjx.com",false);
oXmlHttp.send()
varoStream=newActiveXObject("ADODB.Stream");
if(oStream==null)
alert("您的呆板不撑持ADODB.Stream.")
else
{
oStream.Type=1;
oStream.Mode=3;
oStream.Open();
oStream.Write(oXmlHttp.responseBody);
oStream.Position=0;
oStream.Type=2;
oStream.Charset="gb2312";
varresult=oStream.ReadText();
oStream.Close();
oStream=null;
varaa=window.open("","")
document.write(result);
aa.document.write(result);
}
</script>
  计划4:学csdn一样。用xml保留数据,模版XSL也只要一个文件。
  利用xml来保留数据,利用xsl来界说模板而且生称数据。能够经由过程xsl来很便利的在客户端大概服务段显现数据。假如要天生静态叶面那更复杂了。往查一下.net的xml类包成绩办理。
  长处:能够便利疾速转换成你想要的格局和内容。
  弱点:必要进修更多的内容,欠好进门。
  计划5:
  思绪
  1.使用如Dw-Mx如许的工具天生html格局的模板,在必要增加格局的中央到场特别标志(如$htmlformat$),静态天生文件时使用代码读取此模板,然后取得前台输出的内容,增加到此模板的标志地位中,天生新文件名后写进磁盘,写进后再向数据库中写进相干数据。
2.利用背景代码硬编码Html文件,可使用HtmlTextWriter类来写html文件。
长处
  1.能够创建十分庞大的页面,使用包括js文件的办法,在js文件内到场document.write()办法能够在一切页面内到场如页面头,告白等外容。
  2.静态html文件使用MSWindows2000的IndexServer能够创建全文搜刮引擎,使用asp.net能够以DataTable的体例失掉搜刮了局。而Win2000的Index服务没法查找xml文件的内容。假如包含了数据库搜刮与Index索引两重查找,那末此搜刮功效将十分壮大。
  3.节俭服务器的负荷,哀求一个静态的html文件比一个aspx文件服务器资本节俭很多。
  弱点
  思绪二:假如用硬编码的体例,事情量十分年夜,必要十分多的html代码。调试坚苦。并且利用硬编码天生的html款式没法修正,假如网站改换款式,那末必需得从头编码,给前期带来伟大的事情量。
  因而这里接纳的是第一种思绪
  示列代码
  1.界说(template.htm)html模板页面
  <html>
  <head>
  <title></title>
  <metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
  </head>
  <body>
  <table$htmlformat[0]height="100%"border="0"width="100%"cellpadding="10"cellspacing="0"bgcolor="#eeeeee"style="border:1pxsolid#000000">
  <tr>
  <tdwidth="100%"valign="middle"align="left">
  <spanstyle="color:$htmlformat[1];font-size:$htmlformat[2]">$htmlformat[3]</span>
  </td>
  </tr>
  </table>
  </body>
  </html>
  2.asp.net代码:
  //---------------------读html模板页面到stringbuilder工具里----
  string[]format=newstring[4];//界说和htmlyem标志数量分歧的数组
  StringBuilderhtmltext=newStringBuilder();
  try
  {
   using(StreamReadersr=newStreamReader("寄存模板页面的路径和页面名"))
   {
  Stringline;
  while((line=sr.ReadLine())!=null)
  {
   htmltext.Append(line);
  }
  sr.Close();
   }
  }
  catch
  {
   Response.Write("<Script>alert(读取文件毛病)</Script>");
  }
  //---------------------给标志数组赋值------------
  format[0]="background="bg.jpg"";//背景图片
  format[1]="#990099";//字体色彩
  format[2]="150px";//字体巨细
  format[3]="<marquee>天生的模板html页面</marquee>";//笔墨申明
  //----------交换htm里的标志为你想加的内容
  for(inti=0;i<4;i++)
  {
   htmltext.Replace("$htmlformat["+i+"]",format);
  }
  //----------天生htm文件------------------DD
  try
  {
   using(StreamWritersw=newStreamWriter("寄存路径和页面名",false,System.Text.Encoding.GetEncoding("GB2312")))
  {
   sw.WriteLine(htmltext);
   sw.Flush();
   sw.Close();
  }
  }
  catch
  {
  Response.Write("Thefilecouldnotbewirte:");
  }
  小结
  用此办法能够便利的天生html文件。程序利用了是轮回交换,因而对需交换大批元素的模板速率十分快。
ASP是依赖组件的,能访问数据库的组件好多就有好多种,再有就是你微软的工具可是什么都要收钱的啊!
兰色精灵 该用户已被删除
沙发
发表于 2015-1-18 23:04:18 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
不帅 该用户已被删除
板凳
发表于 2015-1-24 16:21:05 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
冷月葬花魂 该用户已被删除
地板
发表于 2015-2-2 10:53:32 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
飘灵儿 该用户已被删除
5#
发表于 2015-2-7 18:29:15 | 只看该作者
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
乐观 该用户已被删除
6#
发表于 2015-2-22 23:54:57 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
深爱那片海 该用户已被删除
7#
发表于 2015-3-7 04:51:27 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
灵魂腐蚀 该用户已被删除
8#
发表于 2015-3-14 12:26:47 | 只看该作者
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
莫相离 该用户已被删除
9#
发表于 2015-3-21 07:48:06 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 19:20

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表