ホームページ >バックエンド開発 >C#.Net チュートリアル >Asp.net で HTML ページを動的に生成する方法を共有する

Asp.net で HTML ページを動的に生成する方法を共有する

高洛峰
高洛峰オリジナル
2017-02-03 15:10:061372ブラウズ

この機能は、バックエンドのデータベース機能が弱い Web サイト、つまり、ほとんどのテキストがデータベース レコードに保存されず、記事のタイトルやカテゴリなどのインデックスのみが HTML ファイルまたは XML ファイルに保存される Web サイトに適しています。データベース、クエリキーワードなど。これは、MS SQL Server などのデータベースをバックグラウンドでサポートしていない Web サイトに適しています。
動的に生成された HTML ページを使用する、sina、163 などのニュース リリース システムに適しています。
ページを動的にカスタマイズする必要があるプログラムに適しています。フォーラム、チャット ルームなど。カスタマイズされた HTML ページを読み込んで美観を高めることができます。
アイデア
1. Dw-Mx などのツールを使用して HTML 形式でテンプレートを生成し、形式を追加する必要がある場所に特別なタグ ($htmlformat$ など) を追加し、ファイルを動的に生成するときにこのテンプレートを読み取るコードを使用します。フロントエンド入力を取得します。コンテンツがこのテンプレートのマークされた位置に追加され、新しいファイル名が生成されてディスクに書き込まれ、その後関連データがデータベースに書き込まれます。
2. バックグラウンド コードを使用して HTML ファイルをハードコーディングします。HtmlTextWriter クラスを使用して HTML ファイルを作成できます。
メリット
1. js ファイルをインクルードする方法を使用して、非常に複雑なページを作成できます。 js ファイルに document.write() メソッドを追加すると、すべてのページにページ ヘッダーや広告などのコンテンツを追加できます。
2. 静的 HTML ファイルは、MS Windows2000 のインデックス サーバーを使用して全文検索エンジンを構築し、asp.net を使用して DataTable の形式で検索結果を取得できます。 Win2000 の Index サービスが XML ファイルの内容を見つけることができません。データベース検索と索引索引二重検索が含まれている場合、この検索機能は非常に強力になります。
3. サーバーの負荷を節約します。静的 HTML ファイルをリクエストすると、aspx ファイルよりも多くのサーバー リソースが節約されます。
欠点
アイデア 2: ハードコーディングを使用する場合、作業負荷が非常に重くなり、大量の HTML コードが必要になります。デバッグは難しいです。また、ハードコーディングで生成されたHTMLスタイルは変更することができず、Webサイトでスタイルを変更した場合には再コーディングする必要があり、後々の作業負担が大きくなります。
そこで、最初のアイデアがここで採用されます
コードを表示
1. HTML テンプレート ページを定義します

<html> 
<head> 
<title></title> 
<meta http-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: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>

2.asp.net コード:

//---------------------读html模板页面到stringbuilder对象里---- 
string[] format=new string[4];//定义和htmlyem标记数目一致的数组 
StringBuilder htmltext=new StringBuilder(); 
try 
{ 
using (StreamReader sr = new StreamReader("存放模板页面的路径和页面名")) 
{ 
String line; 
while ((line = sr.ReadLine()) != null) 
{ 
htmltext.Append(line); 
} 
sr.Close(); 
} 
} 
catch 
{ 
Response.Write("<Script>alert(&#39;读取文件错误&#39;)</Script>"); 
} 
//---------------------给标记数组赋值------------ 
format[0]="background=/"bg.jpg/"";//背景图片 
format[1]= "#990099";//字体颜色 
format[2]="150px";//字体大小 
format[3]= "<marquee>生成的模板html页面</marquee>";//文字说明 
//----------替换htm里的标记为你想加的内容 
for(int i=0;i<4;i++) 
{ 
htmltext.Replace("$htmlformat["+i+"]",format[i]); 
} 
//----------生成htm文件------------------ 
try 
{ 
using(StreamWriter sw=new StreamWriter("存放路径和页面名",false,System.Text.Encoding.GetEncoding("GB2312"))) 
{ 
sw.WriteLine(htmltext); 
sw.Flush(); 
sw.Close(); 
} 
} 
catch 
{ 
Response.Write ("The file could not be wirte:"); 
}

概要
このメソッドを使用して HTML ファイルを簡単に生成します。このプログラムはループ置換を使用するため、多数の要素を置換する必要があるテンプレートの場合は非常に高速です。

Asp.net を使用して HTML ページを動的に生成し、関連記事を共有する方法の詳細については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。