1

我有一个作为模型的一部分返回的列表。我希望列表中的每个项目都出现在自己的行上。我有两种方法,这两种方法都不能胜任。

一种方法是使用 foreach(),这将允许我在每个项目中使用中断或其他任何内容。但要做到这一点,我必须使模型 IEnumerable (或者至少我认为这是我必须做的),我不想这样做。

但是,如果我将其设为常规模型,则 foreach() 将不起作用。谁能指导我解决问题?

这就是我所说的“常规模型”的意思(我太菜鸟了,不知道正确的术语)

@model AcademicAdvising.Models.AppointmentModel

这是模型本身的列表

public List<string> ReferralTypeNames { get; set; }

这是当前视图中的线:

<p>@Html.DisplayFor(model => model.ReferralTypeNames)</p>

这有效,但项目之间没有换行符。

更新 这是我想要的样本:
学术部门
学术增强-辅导
招生
另一个学术顾问

这是我得到的一个样本: Academic DepartmentAcademic 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 回答