aspx 动态生成html(二)

第一种方法:直接转化一个页面的方法

public static bool CreateList(string url, string fna) { bool ok; //准备生成 string strHtml; StreamReader sr = null; //用来读取流 StreamWriter sw = null; //用来写文件 Encoding code = Encoding.GetEncoding("utf-8"); //定义编码 //构造web请求,发送请求,获取响应 WebRequest HttpWebRequest = null; WebResponse HttpWebResponse = null; HttpWebRequest = WebRequest.Create(url); HttpWebResponse = HttpWebRequest.GetResponse(); //获得流 sr = new StreamReader(HttpWebResponse.GetResponseStream(), code); strHtml = sr.ReadToEnd(); //写入文件 try { sw = new StreamWriter(fna, false, code); sw.Write(strHtml); sw.Flush(); ok = true; } catch (Exception ex) { HttpContext.Current.Response.Write("<p>写入文件出错:" + ex.Message); HttpContext.Current.Response.End(); ok = false; } finally { sw.Close(); } return ok; }



调用

string url = @"http://localhost:15598/OA/PublicGV.aspx?id=14"; //html页面文件名 string fna = Server.MapPath("html") + "\\" + DateTime.Now.ToString("yyyyMMddHHmmss") + DateTime.Now.Millisecond.ToString() + ".html"; if (aspxtohtml.CreateList(url, fna)) { Response.Write("<p>生成文件成功:" + fna); }

第二种方法是用一个html模板生成一个html页面,模版里面有对应的标签,可以从数据库和别的地方取数据,填写这个标签,生成一个html页面,这个方法在很多新闻系统里有用到

private string CreateDetailPage(string EventID,string EventTitle, string EventBody, string EventTime, string EventStat) { //模版所有路径、模版文件名、生成的文件路径、生成的文件名 string path, temp, htmlfilepath,htmlfilename; path = Server.MapPath(""); temp = Server.MapPath("testhtml.htm"); htmlfilepath = path; htmlfilename = DateTime.Now.ToString("yyyyMMddHHmmss") + DateTime.Now.Millisecond.ToString() + ".html"; //读模版 Encoding code = Encoding.GetEncoding("gb2312"); StreamReader sr = null; StreamWriter sw = null; string str = ""; try { sr = new StreamReader(temp, code); str = sr.ReadToEnd(); // 读取文件 } catch (Exception exp) { HttpContext.Current.Response.Write("<p>读取文件出错:" + exp.Message); HttpContext.Current.Response.End(); sr.Close(); } // 替换内容 // 对应模版里的设置要修改 str = str.Replace("re_symbol_EventID", EventID); str = str.Replace("re_symbol_EventTitle", EventTitle); str = str.Replace("re_symbol_EventBody", EventBody); str = str.Replace("re_symbol_EventTime", EventTime); str = str.Replace("re_symbol_EventStat", EventStat); // 写文件 try { sw = new StreamWriter(htmlfilepath + "//" + htmlfilename, false, code); sw.Write(str); sw.Flush(); } catch (Exception ex) { HttpContext.Current.Response.Write("<p>写入文件出错:" + ex.Message); HttpContext.Current.Response.End(); } finally { sw.Close(); } return htmlfilename; }


调用的时候这样:

int i; i = GridView1.SelectedIndex; if (i == null || i==-1) i = 0; string EventID, EventTitle, EventBody, EventTime, EventStat; EventID=GridView1.Rows[i].Cells[0].Text; EventTitle=GridView1.Rows[i].Cells[1].Text; EventBody=GridView1.Rows[i].Cells[2].Text; EventTime=GridView1.Rows[i].Cells[3].Text; EventStat=GridView1.Rows[i].Cells[4].Text; //生成文件,返回文件名 string fna; fna=CreateDetailPage(EventID, EventTitle, EventBody, EventTime, EventStat); Response.Write("<p>生成文件成功:" + fna);


上个图吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ASPX和HTML都是Web开发中常用的页面文件格式,它们之间的区别在于: 1. ASPX是Microsoft ASP.NET框架下的一种动态网页文件格式,而HTML是静态网页文件格式。 2. ASPX文件可以包含服务器端代码和客户端代码,可以通过.NET语言(如C#、VB.NET)进行编写和访问数据库等操作。而HTML文件仅包含前端的HTML、CSS、JavaScript等代码,不包含后端的服务器端代码。 3. ASPX文件需要通过IIS或其他.NET支持的Web服务器进行解析和编译,然后才能在浏览器中呈现出完整的动态网页。而HTML文件可以直接在浏览器中打开并显示。 总的来说,ASPX文件具有更强的交互性和动态性,可以实现更加复杂的Web应用程序,而HTML文件则适用于简单的静态网页设计。 ### 回答2: ASPX和HTML是两种不同的网页文件类型。 ASPX(Active Server Pages Extended)是一种由微软开发的动态网页文件类型,用于在服务器端运行的ASP.NET框架。ASPX文件可以包含服务器端脚本代码,如C#或VB.NET,以及HTML标记,用于构建动态的、与数据库交互的网页应用程序。通过ASP.NET的服务器控件和数据绑定功能,ASPX文件可以实现更强大和复杂的功能,如表单验证、数据查看和处理。 HTML(Hypertext Markup Language)是一种标准的静态网页文件类型,用于展示静态内容的网页。HTML文件可以包含各种标签和元素,如标题、段落、图像和链接等,用于描述和组织页面的结构和内容。HTML文件通常可以直接在客户端浏览器上渲染和显示,不需要服务器端的处理。HTML文件是静态的,不支持直接与数据库交互或执行服务器端代码。 因此,ASPX和HTML的主要区别在于两个方面:功能和技术。ASPX文件具有动态功能和服务器端处理的能力,适用于构建复杂的网页应用程序。HTML文件是静态的,主要用于展示静态的内容,适用于构建简单的网页。此外,ASPX文件需要运行在服务器端,而HTML文件可以直接在客户端浏览器上显示。 ### 回答3: ASPx是一种网页文件的扩展名,而HTML则是一种网页标记语言。ASPx文件通常用于ASP.NET网页开发中,而HTML文件则是Web开发中常见的文件格式。 ASPx文件是由ASP.NET服务器端技术生成动态网页文件,它可以包含服务器端代码和客户端脚本,以及动态生成的内容。ASPx文件可以使用服务器端控件、数据绑定和事件处理,使得网页可以与服务器进行交互,实现更复杂的功能。ASPx文件可以使用ASP.NET技术实现数据库连接、用户认证、表单验证等功能。 而HTML文件是一种静态的标记语言,主要用于描述网页的结构和内容。HTML文件可以包含文本、图像、链接和其他资源,通过标签和属性来定义网页元素的样式和布局。HTML文件是以静态的方式呈现给用户的,无法直接实现与服务器的交互和动态内容生成。 总结来说,ASPx文件与HTML文件的区别主要体现在其使用环境和功能上。ASPx文件适用于ASP.NET网页开发环境,可以实现与服务器的交互和动态内容生成。而HTML文件更适用于静态网页的制作,用于呈现固定的内容和结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值