モデルの一部として返すリストがあります。リスト内の各項目を独自の行に表示したいと考えています。私には2つのアプローチがありますが、どちらもうまくいきません。
1 つの方法は、foreach() を使用することです。これにより、各項目でブレークなどを使用できるようになります。しかし、それを行うには、モデルを IEnumerable にする必要があります (または、少なくともそれが私がしなければならないことだと思います)。私はそれをしたくありません。
ただし、通常のモデルにすると、 foreach() が機能しません。誰でも私を解決策に導くことができますか?
これが「通常のモデル」の意味です (私は初心者すぎて正しい用語を知りません)。
@model AcademicAdvising.Models.AppointmentModel
モデル自体のリストは次のとおりです
public List<string> ReferralTypeNames { get; set; }
そして、ビューで現在立っている行は次のとおりです。
<p>@Html.DisplayFor(model => model.ReferralTypeNames)</p>
それは機能しますが、アイテム間に改行はありません。
更新 これが私が欲しいもののサンプルです:
アカデミック部門
アカデミックエンハンスメント - チュートリアル
入学
別のアカデミックアドバイザー
そして、ここに私が得るもののサンプルがあります: アカデミック部門Academic Enhancement-TutorialAdmissionsAnother Academic Advisor
フォームの残りのコードは次のとおりです。
<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>