欢迎光临
我们一直在努力

在ASP.NET 2.0中直接得到本页面生成的HTML代码-.NET教程,Asp.Net开发

建站超值云服务器,限时71元/月

在asp.net 2.0中,有时候需要对asp.net生成的html代码进行处理,或者是保存成静态文件。asp.net 提供了直接将请求保存成文件的方法:httprequest.saveas方法。下面这个方法就是在asp.net 2.0中得到asp.net生成的html代码,同时,生成一个静态文件的方法。

c#

<%@ page language=c# autoeventwireup=true %>

<!doctype html public “-//w3c//dtd xhtml 1.0 transitional//en”
 “http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd”
>

<script runat=”server”>
  
// 计算数据,完全可以从数据看取得
  icollection createdatasource( )
  {
    system.data.datatable dt 
= new system.data.datatable();
    system.data.datarow dr;
    dt.columns.add(
new system.data.datacolumn(学生班级typeof(system.string)));
    dt.columns.add(
new system.data.datacolumn(学生姓名typeof(system.string)));
    dt.columns.add(
new system.data.datacolumn(语文typeof(system.decimal)));
    dt.columns.add(
new system.data.datacolumn(数学typeof(system.decimal)));
    dt.columns.add(
new system.data.datacolumn(英语typeof(system.decimal)));
    dt.columns.add(
new system.data.datacolumn(计算机typeof(system.decimal)));

    for (int i = 0 ; i < 50 ; i++)
    {
      system.random rd 
= new system.random(environment.tickcount * i); ;
      dr 
= dt.newrow();
      dr[
0= 班级 + i.tostring();
      dr[
1= 【孟子e章】 + i.tostring();
      dr[
2= system.math.round(rd.nextdouble() * 1002);
      dr[
3= system.math.round(rd.nextdouble() * 1002);
      dr[
4= system.math.round(rd.nextdouble() * 1002);
      dr[
5= system.math.round(rd.nextdouble() * 1002);
      dt.rows.add(dr);
    }
    system.data.dataview dv 
= new system.data.dataview(dt);
    
return dv;
  }

  protected void page_load( object sender, eventargs e )
  {
    
if (!ispostback)
    {
      gridview1.datasource 
= createdatasource();
      gridview1.databind();
    }
  }

  protected override void render( htmltextwriter writer )
  {
    system.io.stringwriter html 
= new system.io.stringwriter();
    system.web.ui.htmltextwriter tw 
= new system.web.ui.htmltextwriter(html);
    base.render(tw);
    system.io.streamwriter sw;
    sw 
= new system.io.streamwriter(server.mappath(a.htm), false, system.text.encoding.default);
    sw.write(html.tostring());
    sw.close();
    tw.close();
    response.write(html.tostring());
  }  
</script>

<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
  
<title>得到asp.net生成的html</title>
</head>
<body>
  
<form id=”form1″ runat=”server”>
    
<asp:gridview id=”gridview1″ runat=”server” font-size=”12px” backcolor=”#ffffff”
      gridlines
=”both” cellpadding=”4″ width=”560″>
      
<headerstyle backcolor=”#ededed” height=”26px” />
    
</asp:gridview>
  
</form>
</body>
</html>

vb.net

<%@ page language=vb %>
<!doctype html public “-//w3c//dtd xhtml 1.0 transitional//en”
 “http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd”
>

<script runat=”server”>
  function createdatasource() as icollection
    dim dt as system.data.datatable 
= new system.data.datatable
    dim dr as system.data.datarow
    dt.columns.add(new system.data.datacolumn(
学生班级, gettype(system.string)))
    dt.columns.add(new system.data.datacolumn(
学生姓名, gettype(system.string)))
    dt.columns.add(new system.data.datacolumn(
语文, gettype(system.decimal)))
    dt.columns.add(new system.data.datacolumn(
数学, gettype(system.decimal)))
    dt.columns.add(new system.data.datacolumn(
英语, gettype(system.decimal)))
    dt.columns.add(new system.data.datacolumn(
计算机, gettype(system.decimal)))
    dim i as integer 
= 0
    for i 
= 0 to 50  1
      dim rd as system.random 
= new system.random(environment.tickcount * i)
      dr 
= dt.newrow
      dr(
0= 班级 + i.tostring
      dr(
1= 【孟子e章】 + i.tostring
      dr(
2= system.math.round(rd.nextdouble * 1002)
      dr(
3= system.math.round(rd.nextdouble * 1002)
      dr(
4= system.math.round(rd.nextdouble * 1002)
      dr(
5= system.math.round(rd.nextdouble * 1002)
      dt.rows.add(dr)
    next
    dim dv as system.data.dataview 
= new system.data.dataview(dt)
    return dv
  end function

  protected sub page_load(byval sender as object, byval e as eventargs)
    if not ispostback then
      gridview1.datasource = createdatasource()
      gridview1.databind()
    end if
  end sub

  protected overloads overrides sub render(byval writer as htmltextwriter)
    dim html as system.io.stringwriter = new system.io.stringwriter
    dim tw as system.web.ui.htmltextwriter 
= new system.web.ui.htmltextwriter(html)
    mybase.render(tw)
    dim sw as system.io.streamwriter
    sw 
= new system.io.streamwriter(server.mappath(a.htm), false, system.text.encoding.default)
    sw.write(html.tostring)
    sw.close()
    tw.close()
    response.write(html.tostring)
  end sub
</script>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
  
<title>得到asp.net生成的html</title>
</head>
<body>
  
<form id=”form1″ runat=”server”>
    
<asp:gridview id=”gridview1″ runat=”server” font-size=”12px” backcolor=”#ffffff”
      gridlines
=”both” cellpadding=”4″ width=”560″>
      
<headerstyle backcolor=”#ededed” height=”26px” />
    
</asp:gridview>
  
</form>
</body>
</html 

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 在ASP.NET 2.0中直接得到本页面生成的HTML代码-.NET教程,Asp.Net开发
分享到: 更多 (0)