ASP.NET動的に静的ページを生成するインスタンスコード

3785 ワード

最近、突然プロジェクトのニュース管理モジュールを静的ページにしたいと思って、ネット上で多くの良い文章を見つけて、ここで記録して、今は静的ページの生成を実現するだけでページ分け機能を実現していません.その主な原理は、データベースのデータを読み取り、静的テンプレートページの内容を置き換えることです.
まずテンプレートページを作成し、templateと一時的に名前を付けます.htm、サンプルコードは以下の通りです.
   





   


        $content$

   






次に動的ページを作成し、ここではボタンでイベントをクリックして静的ページを生成します.

フロントページのメインコード(Default.aspx):

 

 

 

 

 

      <br><br/>  <br><br/>  <br><br/>    <form id="form1"runat="server">  <br><br/>    <div>  <br><br/>        <textbox id="txtContent"runat="server"height="179px"textmode="MultiLine"width="350px"/><br/>  <br><br/>        <br/>  <br><br/><button id=「btnMake」runat=「server」onclick=「btnMake_Click」text=「 ページの 」/><br><br/>    </div>  <br><br/>    </form>  <br><br/>  <br><br/>  <br><br/> <br></code></pre><br/>バックグラウンドページのメインコード(Default.aspx.cs):<br><br/> <pre><code> <br><br/>protected void btnMake_Click(object sender, EventArgs e)  <br><br/>    {  <br>テンプレートのフィーチャー を <br><br/>        string mbPath = Server.MapPath("template.htm");  <br><br/>        Encoding code = Encoding.GetEncoding("UTF-8");  <br><br/>        StreamReader sr = null;  <br><br/>        StreamWriter sw = null;  <br><br/>        string str = null;  <br>// み み<br><br/>        try  <br><br/>        {  <br><br/>            sr = new StreamReader(mbPath, code);  <br><br/>            str = sr.ReadToEnd();  <br><br/>        }  <br><br/>        catch (Exception ex)  <br><br/>        {  <br><br/>            throw ex;  <br><br/>        }  <br><br/>        finally  <br><br/>        {  <br><br/>            sr.Close();  <br><br/>        }  <br><br/> に じて に が され、 も で できます<br><br/>        string fileName = DateTime.Now.ToString("yyyyMMddHHmm") + ".htm";  <br><br/>        str = str.Replace("$content$", txtContent.Text);// content<br><br/>// ファイルの <br><br/>        try  <br><br/>        {  <br><br/>            sw = new StreamWriter(Server.MapPath("~/") + fileName, false, code);  <br><br/>            sw.Write(str);  <br><br/>            sw.Flush();  <br><br/>        }  <br><br/>        catch (Exception ex)  <br><br/>        {  <br><br/>            throw ex;  <br><br/>        }  <br><br/>        finally  <br><br/>        {  <br><br/>            sw.Close();  <br><br/>            Response.Write("<a href="+fileName+"mce_href="+fileName+"target="_blank">"+fileName+"</a>が されました!");  <br><br/>        }  <br><br/>    }  <br><br/> <br></code></pre><br/>ニュース が い は、サーバのストレージ を させ、 に に ページを し、 ページを する を することを に する があります.<br><div class="clearfix"> <br><span id="art_bot"class="jbTestPos"/> <br></div> <br></div><br></div><br></div>