[英]Formatting a DisplayFor
我有一个列表,作为模型的一部分返回。 我希望列表中的每个项目都显示在自己的行中。 我有两种方法,都不能很好地完成工作。
一种方法是使用foreach(),这将允许我在每个项目中使用break或其他内容。 但是要做到这一点,我必须使模型成为IEnumerable(或者至少我认为那是我必须要做的),而我不想这样做。
但是,如果我将其设为常规模型,则foreach()无效。 谁能指导我解决方案?
这就是我所说的“常规模型”的意思(我实在是一个菜鸟,不知道正确的术语)
@model AcademicAdvising.Models.AppointmentModel
这是模型本身的列表
public List<string> ReferralTypeNames { get; set; }
这是当前在视图中显示的行:
<p>@Html.DisplayFor(model => model.ReferralTypeNames)</p>
可以,但是项目之间没有换行符。
更新以下是我想要的示例:
学术部
学术提升教程
招生
另一位学术顾问
这是我所得到的一个示例:学术部门学术改进-教程入学另一个学术顾问
以下是表单其余部分的代码:
<table class="table-appt">
<tr>
<th>Student ID</th>
<td>@ViewBag.CurrentStudentId</td>
</tr>
<tr>
<th>Username</th>
<td>@ViewBag.CurrentStudentUsername</td>
</tr>
<tr>
<th>Name</th>
<td>@ViewBag.LName</td>
</tr>
<tr>
<th>Assigned Advisor</th>
<td>@Html.DisplayFor(model => model.AdvisorName)</td>
</tr>
<tr>
<th>Declared Major</th>
<td>@Html.DisplayFor(model => model.Major)</td>
</tr>
</table>
<fieldset>
<legend></legend>
<div class="field">
<h4>View a Different Advising Session</h4>
<div>
@Html.DisplayFor(model => model.AppointmentDates)
</div>
</div>
<div class="field">
<h3>Advisor</h3>
(person conducting appointment)<br />
<div>(name) @Html.DisplayFor(model => model.AdvisorId)</div>
</div>
<div class="field">
<h3>Contact/Appointment Type</h3>
<div>@Html.DisplayFor(model => model.ContactTypeName)</div>
</div>
<div class="field">
<h3>Appointment Notes</h3>
<div class="display-field">
@Html.DisplayFor(model => model.Notes)
</div>
</div>
<div class="field">
<h3>Advising Topics</h3>
<div>@Html.DisplayFor(model => model.AdvisingTopicNames)</div>
</div>
<div class="field">
<h3>Referral Topics</h3>
@Html.DisplayFor(model => model.ReferralTypeNames)<br />
</div>
</fieldset>
尝试
@foreach (string s in Model.ReferralTypeNames)
{
@Html.DisplayFor(m => s)<br />
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.