!!!ASP.NET 2005 コード ブロック [ASP.NET][ASP.NET 2005][Visual Studio][C#} !!!コード ブロック *http://msdn.microsoft.com/ja-jp/library/f0111sbh(VS.80).aspx !!シングルファイル ページ モデル *runat="server" 属性を指定した script ブロックにページのコードを記述 *一般にページのコントロールとやり取りします *スクリプト ブロックのコードが HTML と ASP.NET マークアップ タグと個別に記述 *1 つのページに複数の GodeBlock Sample
<% = globalStr %>
<% = GetMessage() %>
<% String s = GetMessage(); s += " ASP.NET"; Response.Write(s); %>
<% GetAlert(); %>
{{ref_image asp_codeblock01.jpg}} !!分離コード ページ モデル *1 つの .aspx ファイルにマークアップを格納し、別のファイルにプログラム コードを格納できます。 ::Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class _Default : System.Web.UI.Page { protected String globalStr = "Global String"; protected void Page_Load(object sender, EventArgs e) { globalStr += " Initialized."; } protected String GetMessage() { return "Hello"; } protected void PrintMessage() { String s = GetMessage(); s += " ASP.NET"; Response.Write(s); } } ::Default.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> GodeBlock Sample
<% = globalStr %>
<% = GetMessage() %>
<% PrintMessage(); %>
!!!Web ページの埋め込み *http://msdn.microsoft.com/ja-jp/library/ms178135(VS.80).aspx !!埋め込みコードブロック *ページのレンダリング中に実行されるサーバー コード *このブロックのコードは、プログラミング ステートメントを実行し、現在のページ クラスの関数を呼び出すことができます *<% = expression %> という構文を使用して式を解決し、その値をブロックに返します <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> GodeBlock Sample
<% for (int i = 0; i < 3; i++) { %>

<% = i %>

<% } %>
!用途 *コントロールまたはマークアップ要素の値を関数の戻り値に設定 *計算結果をマークアップまたはコントロールのプロパティに直接埋め込む ""埋め込みコード ブロックは、主に以前の ASP テクノロジとの後方互換性を維持するために ASP.NET Web ページでサポートされる。分離コードやスクリプト ブロックのコードほど柔軟ではないため、デバッグと保守が困難になる。