0
ユーザーに役立つヒントを表示するために使用できる新しい属性のTipAttributeを作成したいとします。MVC3のモデルにTipAttributeを追加する方法
public class EditPersonModel {
[Display(Name = "Full Name")]
[Tip(Message = "Enter the person's full name.")]
public string Name { get; set; }
}
は、だから私のビューから私は
<div class="editor-field">
@Html.InputFor(m => m.Name)
@Html.TipFor(m => m.Name)
</div>
をするでしょうし、それは私がHtmlHelperのために拡張メソッドを記述する必要があるだろうことを知っているが、私はありません持っている
<div class="editor-field">
<input id="Name" name="Name" type="text" value="">
<div class="tip">Enter the person's full name.</div>
</div>
をレンダリングします何が内部に入るべきか考えてください!
public static MvcHtmlString TipFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression) {
???
}
私はMvc3ソースコード内のDisplayAttributeの実装を見始めましたが、それは非常に複雑だと私自身のカスタム属性を提供するようには見えませんが、プラグイン可能な/非常に簡単です。これを行うための標準MVC3の方法はありますか?
ありがとうございました!
すごいです!私はまだテストしていませんが、これは完全に意味があり、これは私が望んでいたものです... IMetadataAwareのようなシステムで、組み込みのLambdaパーサーを拡張できます。 – parleer