!!!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 ページでサポートされる。分離コードやスクリプト ブロックのコードほど柔軟ではないため、デバッグと保守が困難になる。