• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

ASP.net(c#) 生成html的几种解决方案[思路]第1/2页

asp 搞代码 4年前 (2022-01-03) 36次浏览 已收录 0个评论

下面的文章转载自网络,其代码很多都有问题,这里只提供给大家一个思路.

方案1: 

代码如下:
/// 来源gao@daima#com搞(%代@#码网

/// 传入URL返回网页的html代码
///

/// URL
///
public static string getUrltoHtml(string Url)
{
errorMsg = “”;
try
{
System.Net.WebRequest wReq = System.Net.WebRequest.Create(Url);
// Get the response instance.
System.Net.WebResponse wResp =wReq.GetResponse();
// Read an HTTP-specific property
//if (wResp.GetType() ==HttpWebResponse)
//{
//DateTime updated =((System.Net.HttpWebResponse)wResp).LastModified;
//}
// Get the response stream.
System.IO.Stream respStream = wResp.GetResponseStream();
// Dim reader As StreamReader = New StreamReader(respStream)
System.IO.StreamReader reader = new System.IO.StreamReader(respStream, System.Text.Encoding.GetEncoding(“gb2312”));
return reader.ReadToEnd();
}
catch(System.Exception ex)
{
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
以下是程序代码 注:此代码非原创!参考别人代码

代码如下:
//生成HTML页
public static bool WriteFile(string strText,string strContent,string strAuthor)
{
string path = HttpContext.Current.Server.MapPath(“/news/”);
Encoding code = Encoding.GetEncoding(“gb2312”);
// 读取模板文件
string temp = HttpContext.Current.Server.MapPath(“/news/text.html”);
StreamReader sr=null;
StreamWriter sw=null;
string str=””;
try
{
sr = new StreamReader(temp, code);
str = sr.ReadToEnd(); // 读取文件
}
catch(Exception exp)
{
HttpContext.Current.Response.Write(exp.Message);
HttpContext.Current.Response.End();
sr.Close();
}

string htmlfilename=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 = new StreamWriter(path + htmlfilename , false, code);
sw.Write(str);
sw.Flush();
}
catch(Exception ex)
{
HttpContext.Current.Response.Write(ex.Message);
HttpContext.Current.Response.End();
}
finally
{
sw.Close();
}
return true;

此函数放在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代码

代码如下:

ShowArticle

biaoti

content

author

biaoti

content

author

提示添加成功后会出以当前时间为文件名的html文件!上面只是把传递过来的几个参数直接写入了HTML文件中,在实际应用中需要先添加数据库,然后再写入HTML文件
方案3:
给一个客户端参考的例子(SJ)
它的作用在于以客户端的方式获取某个页面的代码,然后可以做为其他用途,本例是直接输出

代码如下:

12下一页阅读全文

以上就是ASP.net(c#) 生成html的几种解决方案[思路]第1/2页的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:ASP.net(c#) 生成html的几种解决方案[思路]第1/2页

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址