不使用" UIHint" 如何为某些类型的数据创建.cshtml。
[DataType(DataType.Url)]
public string Link { get; set; }
将被使用
Url.cshtml
[DataType(DataType.MultilineText)]
public string Descrition { get; set; }
将被使用
MultilineText.cshtml
public IEnumerable<SelectListItem> TypesList { get; set; }
将被使用
???????????.cshtml
public DateTime? DateUpdated { get; set; }
将被使用
???????????.cshtml
public int? Order { get; set; }
将被使用
???????????.cshtml
简而言之,我不想放入我的ViewModel属性,就像那样,就像&#34; Url&#34;和&#34; Multiline&#34;
用于.cshtml
,int?
或IEnumerable<xx>
IEnumerable<string>
应该是什么?
Remembering that you can not create files with "<", ">" or "?"
答案 0 :(得分:4)
按照惯例(如果您未指定任何模板名称):
public IEnumerable<SelectListItem> TypesList { get; set; }
将使用SelectListItem.cshtml
(不是因为您有IEnumerable<T>
,因此将为集合的每个元素呈现编辑器模板,并将其称为T.cshtml
)< / LI>
public DateTime? DateUpdated { get; set; }
将使用DateTime.cshtml
public int? Order { get; set; }
将使用Int32.cshtml
... 您还可以在视图中指定模板名称:
@Html.EditorFor(x => x.TypesList, "MyTemplate.cshtml")
假设TypesList
是IEnumerable<T>
,则MyTemplate.cshtml
将强烈输入IEnumerable<T>
,而不是T
。