你可以創建自己的編輯器Editor Template。
這將意味着你會指定而不是TextBoxFor
,你會去EditorFor
,並調用你的自定義模板。
然後在模板中,您將查找自定義屬性MyVmAttribute
,獲取名稱/值並將其注入到您自己的HTML文本框<input type='text' />
或TextBoxFor
中。
例,在你看來:
@Html.EditorFor(x=>x.MyProperty,"MyEditorTemplate")
在你的編輯模板(位於〜/查看/共享/ EditorTemplates/MyEditorTemplate.cshthml):
@model String
//code to get custom attribute (HtmlKeyValueAttribute) out of `ViewData.ModelMetadata`
//and insert it as either
//@Html.TextBox
//OR
//<input type='text' />
//adding the attribute(s) in a foreach possibly
你的屬性,我會建議什麼可以多次使用:
public class HtmlKeyValueAttribute : Attribute
{
public String Name {set;get;}
public String Value {set;get;}
public HtmlKeyValueAttribute(String name, String value)
{
this.Name = name;
this.Value = value;
}
}