1

モデルの一部として返すリストがあります。リスト内の各項目を独自の行に表示したいと考えています。私には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>
4

1 に答える 1

1

試す

@foreach (string s in Model.ReferralTypeNames)
{
    @Html.DisplayFor(m => s)<br />
}
于 2013-03-20T16:19:18.363 に答える