这是我的Model
班级:
public class TechnicalCommitteeDetails
{
public List<String> Documents { get; set; }
public List<String> Sites { get; set; }
public List<String> Testing_Facility { get; set; }
}
这是我的Controller
班级:
public ActionResult TechnicalCommitteeDetails()
{
tcd.Documents.Add("Product Bullitiens");
tcd.Documents.Add("MSD");
tcd.Documents.Add("Technical Literature");
tcd.Sites.Add("Pennsylvania");
tcd.Sites.Add("New York");
tcd.Testing_Facility.Add("TEC Service");
tcd.Testing_Facility.Add("Amercian Engineering Testing");
}
这是我的View
:
@Html.DisplayFor(model => Model.Documents, new { @class = "col-xs-6 no-padding" })
这给我这样的输出:
我希望每个Documnet看起来都在单独的行中,如下所示:
Documents: Product Bullitiens
MSD
Technical Literature
答案 0 :(得分:0)
您可以手动呈现列表,而不是使用@Html.DisplayFor()
。
例如:
<ul>
@foreach(var item in Model.Documents)
{
<li>
item
</li>
}
</ul>
只需按照您想要的方式设置列表样式。
答案 1 :(得分:0)
您的媒体资源Documents
是List<string>
,默认情况下会按照您在项目中看到的情况进行渲染。
一种选择是创建自定义 DisplayTemplate 以显示字符串列表。
为此,您需要在视图文件夹下的共享文件夹中创建一个名为 DisplayTemplates 的新文件夹。意见&gt;分享&gt; DisplayTemplates然后在其中创建一个名为 _Items.cshtml
的新PartialView
在这个新的PartialView中,输入代码;
@model List<String>
<ul>
@foreach (var s in Model)
{
<li>@s</li>
}
</ul>
然后将您的@Html.DisplayFor
代码更新为
@Html.DisplayFor(model => model.Documents, "_items")
然后,这将您的文档呈现为无序列表。从这里开始,您可以使用布局以及HTML标记的显示方式来显示文档。
通过使用此方法,您创建了一个可重复使用的DisplayFor
模板,用于显示字符串列表。然后,您可以使用此方法显示其他类型的属性,例如List<TechnicalCommitteeDetails>
可以显示委员会详细信息列表,显示文档列表。