asp.net 生成静态页

先建个html模版页(template.htm):

<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" >
< html >
< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312" >

< title > $title </ title >

</ head >

< body >
< table  $htmlformat[0] height ="100%"  border ="0"  width ="100%"  cellpadding ="10"  cellspacing ="0"  bgcolor ="#eeeeee"  style ="border:1px solid #000000" >  
< tr >  
< td  width ="100%"  valign ="middle"  align ="left" >  
< span  style ="color: $htmlformat[1];font-size: $htmlformat[2]" > $htmlformat[3] </ span >  
</ td >  
</ tr >
</ table >
</ body >
</ html >

在asp.net中的应用(c#):

   
string [] format = new   string [ 4 ]; // 定义和htmlyem标记数目一致的数组 
   StringBuilder htmltext = new  StringBuilder(); 
   
try  
   

    
using (StreamReader sr= new StreamReader(base.Server.MapPath(".")+"\\template.htm"))
     

      String line; 
      
while ((line = sr.ReadLine()) != null
      

        htmltext.Append(line); 
      }
 
      sr.Close(); 
     }
 
   }
 
   
catch
   

     Response.Write(
"<Script>alert('读取文件错误')</Script>"); 
   }
 

   
// ---------------------给标记数组赋值------------ 

   
string  title = " 模板测试 " ;
   format[
0 ] = " background=\ " bg.jpg\ "" ; // 背景图片 
   format[ 1 ] =   " #990099 " ; // 字体颜色 
   format[ 2 ] = " 150px " ; // 字体大小 
   format[ 3 ] =   " <marquee>生成的模板html页面</marquee> " ; // 文字说明 
   
// ----------替换htm里的标记为你想加的内容 
   htmltext.Replace( " $title " ,title); // 把title不放在数组是为了比较一下,:)。这样写比较容易看懂
    for ( int  i = 0 ;i < 4 ;i ++ // 这样写方便。如果写入模版的数据较多,我想为了清晰用上面的方法或许更好点。
   
     htmltext.Replace(
"$htmlformat["+i+"]",format[i]); 
   }
 

   
// ----------生成htm文件------------------―― 

   
try  
   

    
using(StreamWriter sw=new StreamWriter(base.Server.MapPath(".")+"\\test.htm",false,System.Text.Encoding.GetEncoding("GB2312"))) 
    

      sw.WriteLine(htmltext); 
      sw.Flush(); 
      sw.Close(); 
    }
 

   }
 
   
catch  
   

    Response.Write (
"您的权限不够,请与管理员联系!"); 
   }



from: http://blog.csdn.net/JOHNCOOLS/archive/2006/09/20/1253105.aspx

你可能感兴趣的:(asp.net)