MVCでのUIHint属性の使用とは誰でも私にそれを使用する方法とそれが何をするかの簡単な例を提供してくれますか?.
DisplayまたはEditorテンプレートを使用する場合、UIHintは使用するテンプレートを通知します。
[UIHint("SomeTemplate")]
public class MyViewModel
{
public string SomeProperty { get; set; }
}
Views/Shared/DisplayTemplatesまたはViews/{Controller}/DisplayTemplatesでSomeTemplate.ascxという名前のDisplayテンプレートを作成すると(MVC2であるため)、テンプレートは次のように使用されます。
@Html.DisplayForModel() // if Model is MyViewModel
または
@Html.DisplayFor(m => m.ModelProperty) // if ModelProperty is of type MyViewModel
編集
これをプロパティレベルで指定する場合:
public class MyViewModel
{
[UIHint("Birthday")]
public DateTime DateOfBirth { get; set; }
}
/ Views/Sharedまたは/ Views/{Controller}のいずれかのDisplayTemplatesまたはEditorTemplatesフォルダーに、Birthdayというディスプレイ/エディターテンプレートを作成できます。その後、あなたがするとき:
@Html.DisplayFor(m => m.DateOfBirth)
または
@Html.EditorFor(m => m.DateOfBirth)
UIHintで指定されたテンプレートを使用します
UIHintは、Dismissile状態のクラス宣言ではなく、プロパティでのみ使用できます。 MVC3を使用しているため、MVC2から変更されている可能性があります。
「属性 'UIHint'はこの宣言タイプでは無効です。 'プロパティ、インデクサー、フィールド'宣言でのみ有効です」