方法 : ASP.NET Dynamic Data の既定のフィールド テンプレートをカスタマイズする

更新 : 2007 年 11 月

既定のフィールド テンプレートのプロパティを変更することで、データの表示方法、編集方法、および挿入方法をカスタマイズできます。

既定のフィールド テンプレートの詳細については、「ASP.NET Dynamic Data の既定のフィールド テンプレート」を参照してください。

Cc488533.alert_note(ja-jp,VS.90).gifメモ :

既定のフィールド テンプレートに加えた変更は、Web アプリケーション全体で、テンプレートが使用されているすべてのページとコントロールに適用されます。

次の手順は、Text_Edit.ascx に背景色を追加する方法を示しています。Text_Edit.ascx は、Dynamic Data プロジェクトに既定で用意されるフィールド テンプレートの 1 つです。

既定のフィールド テンプレートをカスタマイズするには

  1. Visual Studio 2008 または Visual Web Developer 2008 Express Edition で、ASP.NET Dynamic Data Web サイトを開きます。

  2. DynamicData/FieldTemplate フォルダで、変更する既定のフィールド テンプレートを開き、ソース ビューに切り替えます。

  3. コードを変更してフィールド テンプレートをカスタマイズします。

    たとえば、次のコード スニペットを追加して、Text_Edit.ascx フィールド テンプレートを変更します。

    <asp:TextBox ID="TextBox1" runat="server" BackColor="Yellow" Text='<%# FieldValueEditString %>'></asp:TextBox>
    

    このコード スニペットは、マークアップに背景色プロパティを追加し、背景色を黄色に設定します。変更後の Text_Edit.ascx コードは、後に示すコード例のようになります。

使用例

変更後の Text_Edit.ascx フィールド テンプレートのコード例を次に示します。この変更後のフィールド テンプレートでは、テーブルが編集モードのときに、String、Decimal、Double、および Int32 の各データ型が表示されるテキスト ボックスの背景色を黄色に変更しています。この変更は、Web サイト上で編集モードになっているすべての行に反映されます。

<%@ Control Language="VB" Inherits="System.Web.DynamicData.FieldTemplateUserControl" %>

<asp:TextBox ID="TextBox1" runat="server" BackColor="Yellow" Text='<%# FieldValueEditString %>'></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator1" ControlToValidate="TextBox1" Display="Dynamic" Enabled="false" />
<asp:RegularExpressionValidator runat="server" ID="RegularExpressionValidator1" ControlToValidate="TextBox1" Display="Dynamic" Enabled="false" />
<asp:DynamicValidator runat="server" ID="DynamicValidator1" ControlToValidate="TextBox1" Display="Dynamic" />
<%@ Control Language="C#" Inherits="System.Web.DynamicData.FieldTemplateUserControl"%>

<asp:TextBox ID="TextBox1" runat="server" BackColor="Yellow" Text='<%# FieldValueEditString %>'></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator1" ControlToValidate="TextBox1" Display="Dynamic" Enabled="false" />
<asp:RegularExpressionValidator runat="server" ID="RegularExpressionValidator1" ControlToValidate="TextBox1" Display="Dynamic" Enabled="false" />
<asp:DynamicValidator runat="server" ID="DynamicValidator1" ControlToValidate="TextBox1" Display="Dynamic" />

コードのコンパイル方法

  • Microsoft Visual Studio 2008 Service Pack 1 または Visual Web Developer 2008 Express Edition Service Pack 1。

  • AdventureWorksLT サンプル データベース。SQL Server のサンプル データベースをダウンロードしてインストールする方法については、CodePlex サイトの「Microsoft SQL Server Product Samples: Database」を参照してください。実行している SQL Server のバージョン (Microsoft SQL Server 2005 または Microsoft SQL Server 2008) に対応した正しいバージョンのサンプル データベースをインストールしてください。

  • Dynamic Data Web サイト。これにより、データベースのコンテキストと、カスタマイズするデータ フィールドおよびオーバーライドするメソッドを持つクラスを作成できます。また、前に説明したページを使用するための環境も作成されます。詳細については、「チュートリアル : スキャフォールディングを使用した新しい Dynamic Data Web サイトの作成」を参照してください。

参照

処理手順

方法 : データ モデルでデータ フィールドの表示をカスタマイズする

概念

ASP.NET Dynamic Data の既定のフィールド テンプレート