1 つ目はテンプレートの置換です。
環境: Microsoft .NET Framework SDK v1.1
OS:Windows Server 2003 中国語版
ASP.Net は静的 HTML ページを生成します。静的ページの生成に使用される FileSystemObject オブジェクトは Asp! に実装されています。
.Net でのこのような操作に関与するのは System.IO です。
以下はプログラムコードです。 注: このコードはオリジナルではありません。他の人のコードを参照してください。
//HTMLページを生成
public static bool WriteFile(string strText,string strContent,string strAuthor)
{
文字列パス = HttpContext.Current.Server.MapPath("/news/");
エンコードコード = Encoding.GetEncoding("gb2312");
//テンプレートファイルを読み込む
文字列 temp = HttpContext.Current.Server.MapPath("/news/text.html");
ストリームリーダー sr=null;
StreamWriter sw=null;
文字列 str="";
試す
{
sr = 新しい StreamReader(temp, code);
str = sr.ReadToEnd(); // ファイルを読み取ります。
}
catch(例外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); //テンプレートページに記事を表示
str = str.Replace("biaoti",strText);
str = str.Replace("コンテンツ",strContent);
str = str.Replace("著者",strAuthor);
// ファイルを書き込む
試す
{
sw = new StreamWriter(パス + htmlファイル名、false、コード);
sw.Write(str);
sw.Flush();
}
catch(例外例)
{
HttpContext.Current.Response.Write(例:メッセージ);
HttpContext.Current.Response.End();
}
ついに
{
sw.Close();
}
return true;
この関数は Conn.CS 基本クラスに配置され、
ニュースを追加するコードで参照されます。 注: プロジェクト名は Hover
if (Hover.Conn.WriteFilethis.Title.Text.ToString), this.Content です。 Text.ToString) 、this.Author.Text.ToString)))
{
Response.Write("正常に追加されました");
}
それ以外
{
Response.Write("HTML 生成エラー!");
}
テンプレート ページ Text.html コード
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<頭>
<title>記事を表示</title>
<本文>
ビオティ
<br>
内容<br>
著者
</body>
</HTML>
ビオティ
<br>
内容<br>
著者
</body>
</HTML>
プロンプトが正常に追加されると、現在の時刻がファイル名として含まれる HTML ファイルが表示されます。上記は、渡されたパラメーターを HTML ファイルに直接書き込むだけです。
実際のアプリケーションでは、最初にデータベースを追加してから HTML ファイルを記述する必要があります。
2 番目のタイプ:
WebRequest は aspx ページにアクセスし、応答ストリームを取得し、html を取得します。
private void button1_Click(オブジェクト送信者、System.EventArgs e)
{
textBox1.Text=this.GetUrlValue(" http://YourUrl ");
}
// HttpWebRequest を使用して URL の戻り値を取得します
パブリック文字列 GetUrlValue(文字列 URL)
{
System.Net.WebRequest HttpWebRequest=System.Net.WebRequest.Create(url);
System.Net.WebResponse HttpWebResponse =HttpWebRequest.GetResponse();
System.IO.StreamReader sr=new System.IO.StreamReader(HttpWebResponse.GetResponseStream(), System.Text.Encoding.GetEncoding("GB2312"));
戻り sr.ReadToEnd();
}