我有一个模型,它有一些常规属性,比如strings
and integers
,它也有 2 个ilist(of string)
属性。
我DisplayTemplate
为这些看起来像这样并称为ListOfString.vbhtml
:
@ModelType List(Of String)
@If Model IsNot nothing And Model.Any Then
@<ul>
@For i As Integer = 0 To Model.Count
@<li>@Html.Raw(Model(i))</li>
Next
</ul>
end if
这是属性的装饰方式:
<UIHint("ListOfString")>
<Display(Name:="Options", ResourceType:=GetType(WebText))>
Public Property Options As List(Of String) = New List(Of String)
然后,在我看来,我打电话给@Html.DisplayForModel()
. 期望我的所有属性都由默认的显示模板写出,而我的自定义一个用于列表属性的列表。
所有未渲染的属性都IList(of string)
很好(这很丑,但这是一个单独的问题)。
Views/Shared/DisplayTemplates
我尝试在项目库的文件夹和文件夹中使用显示模板,Area/Views/controllername/DisplayTemplates
但均无效。
列表中确实有值,并且模板没有被呈现,因为我在其中放置了简单的“hello”并且它没有显示出来。所以这不是模型绑定出错的情况。
我完全不希望这能奏效吗?我的印象是,这是关于显示模板之类的伟大事情之一。