C# 如何在toList foreach中使用枚举名?

C# 如何在toList foreach中使用枚举名?,c#,asp.net-mvc,enums,C#,Asp.net Mvc,Enums,当前,我在视图中显示枚举名称值,如下所示: @foreach (var item in Model.DrawDatesList) { <tr id="tableHeadRows"> <td class="tableHeadRowsInside"> @Html.DisplayFor(modelItem => item.LotteryId) </td> <td class=

当前,我在视图中显示枚举名称值,如下所示:

@foreach (var item in Model.DrawDatesList)
{
    <tr id="tableHeadRows">
        <td class="tableHeadRowsInside">
            @Html.DisplayFor(modelItem => item.LotteryId)
        </td>
        <td class="tableHeadRowsInside">
            @Enum.GetName(typeof(MediaBug.Shared.Enumerators.Days), item.DayId)
        </td>
    var results = ClientRepositoryBuilder
                    .Instance
                    .LotteryClientRepository
                    .GetAllDrawDates()
                    .ToPagedList(page, this.pageSize);
    var model = new LotteryIndexViewModel();
    model.DrawDatesList = results;

    return this.PartialView(model);
public class DrawDate {
    public int DayId { get; set; }
    public int LotteryId { get; set; }
    public string DayName { get { return Enum.GetName(typeof(MediaBug.Shared.Enumerators.Days), DayId); } }
    // other properties here if applicable
}

是否有任何选项我不在视图中使用@Enum.GetName(typeof(MediaBug.Shared.Enumerators.Days)、item.DayId,并在模型中以某种方式分配它?但是我不知道怎么做,因为您必须在foreach中使用它,并且不能将它“插入”到ToList中。

DrawDatesList是什么类型的对象?让我们说它是数不清的。那么DrawDate可以如下所示:

@foreach (var item in Model.DrawDatesList)
{
    <tr id="tableHeadRows">
        <td class="tableHeadRowsInside">
            @Html.DisplayFor(modelItem => item.LotteryId)
        </td>
        <td class="tableHeadRowsInside">
            @Enum.GetName(typeof(MediaBug.Shared.Enumerators.Days), item.DayId)
        </td>
    var results = ClientRepositoryBuilder
                    .Instance
                    .LotteryClientRepository
                    .GetAllDrawDates()
                    .ToPagedList(page, this.pageSize);
    var model = new LotteryIndexViewModel();
    model.DrawDatesList = results;

    return this.PartialView(model);
public class DrawDate {
    public int DayId { get; set; }
    public int LotteryId { get; set; }
    public string DayName { get { return Enum.GetName(typeof(MediaBug.Shared.Enumerators.Days), DayId); } }
    // other properties here if applicable
}
或者,您可以将上面的DayName替换为:

    public string DayName { get { return ((MediaBug.Shared.Enumerators.Days) DayId).ToString(); } }
(只是语义问题。)

在你看来:

@foreach (var item in Model.DrawDatesList)
{
    <tr id="tableHeadRows">
        <td class="tableHeadRowsInside">
            @Html.DisplayFor(modelItem => item.LotteryId)
        </td>
        <td class="tableHeadRowsInside">
            item.DayName
        </td>
@foreach(Model.DrawDatesList中的变量项)
{
@DisplayFor(modelItem=>item.LotteryId)
item.DayName

什么是
item.DayId
?是的,但是您如何实际使用ToList中的DayId来获得正确的DayId,通过ToList在哪里分配值?