方法 : ASP.NET Dynamic Data の既定のフィールド テンプレートをカスタマイズする
更新 : 2007 年 11 月
既定のフィールド テンプレートのプロパティを変更することで、データの表示方法、編集方法、および挿入方法をカスタマイズできます。
既定のフィールド テンプレートの詳細については、「ASP.NET Dynamic Data の既定のフィールド テンプレート」を参照してください。
メモ : |
---|
既定のフィールド テンプレートに加えた変更は、Web アプリケーション全体で、テンプレートが使用されているすべてのページとコントロールに適用されます。 |
次の手順は、Text_Edit.ascx に背景色を追加する方法を示しています。Text_Edit.ascx は、Dynamic Data プロジェクトに既定で用意されるフィールド テンプレートの 1 つです。
既定のフィールド テンプレートをカスタマイズするには
Visual Studio 2008 または Visual Web Developer 2008 Express Edition で、ASP.NET Dynamic Data Web サイトを開きます。
DynamicData/FieldTemplate フォルダで、変更する既定のフィールド テンプレートを開き、ソース ビューに切り替えます。
コードを変更してフィールド テンプレートをカスタマイズします。
たとえば、次のコード スニペットを追加して、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 サイトの作成」を参照してください。
参照
処理手順
方法 : データ モデルでデータ フィールドの表示をカスタマイズする