-1

MetadataType 属性を介してモデル クラスにアタッチされた Metadata クラスを使用して、モデルを装飾しました。Range 属性、Required 属性などを使用したり、作成したカスタム属性をいくつか使用したりしています。

ここで、Dynamic Data フレームワークのレンダリング エンジン (またはそれが呼ばれるもの) にフックし、カスタム属性と標準の System.ComponentModel.DataAnnotations 属性に基づいて UI がレンダリングされる方法を変更できるようにしたいと考えています。

また、ASP.NET MVC を使用したい場合もありますので、そのことを念頭に置いておいてください。

それ、どうやったら出来るの?核心を説明することについて冗長になりたくない場合は、リンクを参照してください。

ありがとう!

4

1 に答える 1

1

ASP.NET MVC の動的データ プロジェクトがありますが、ほとんど保留になっていると思います。

http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=15459

しばらく前に見たところ、部分的に機能しましたが、最新のビットでは機能しないと思います。最終的にはすべてをまとめると思いますが、それにはしばらく時間がかかります。私が今行っていることは、たとえば必須フィールドを表示するためにメタデータを読み取るいくつかのヘルパー クラスがあることですが、動的データの完全なレンダリングを使用していません。次のようにメタデータを取得できます。

public static MetaColumn GetColumn(Type t, string columnName)
{
  MetaModel model = new MetaModel();
  MetaTable table = model.GetTable(t);
  MetaColumn column = table.GetColumn(columnName);
  return column;
}

public static string GetDisplayName(Type t, string columnName)
{
  MetaColumn column = GetColumn(t, columnName);
  return column.DisplayName;
}

今のところ、メタデータの一部を使用しているだけです。これ以上何か思いついたら知りたいです。

于 2009-01-09T17:41:37.137 に答える