Почему я получаю «Невозможно преобразовать значение NULL в« ScheduleType », потому что это тип значения, не допускающий значения NULL»? - PullRequest
0 голосов
/ 11 апреля 2019

Я понимаю, что означает ошибка, но не в этом контексте. Список ошибок VS указывает на 1-ю строку ниже и говорит

Невозможно преобразовать ноль в «ScheduleType», потому что он не обнуляется тип значения

@using MyNamespace.ViewModels.Workflow.Schedule

@model ScheduleType

<div class="form-group">
    <div id="scheduleTypeRadio">
        <div class="btn-group" data-toggle="buttons">
            @foreach (var value in Enum.GetValues(Model.GetType()).Cast<ScheduleType>())
            {
                <label class="btn btn-primary @if(Model == value) { <text>active</text> }">
                    @Html.RadioButton("scheduleType", value, new { onchange = "if($(this).prop('checked') === true) $(this).closest('form').submit();" })
                    @if (value == ScheduleType.OnDemand && ((bool?)ViewData["immediateMode"]) == true)
                    {
                        @:Immediate
                    }
                    else
                    {
                        @Html.DisplayFor(m => value)
                    }
                </label>
            }
        </div>
    </div>
</div>

Таким образом, точная линия равна

@using MyNamespace.ViewModels.Workflow.Schedule

и как эта строка использует ScheduleType, как если бы она обнулялась? Не имеет смысла.

1 Ответ

0 голосов
/ 11 апреля 2019

похоже, что ваша модель имеет тип значения (enum) - @model ScheduleType

и вы используете его для получения возможных значений - Enum.GetValues(Model.GetType())

Я думаю, что вы можете использовать тип объекта модели, а также при получении списка возможных значений перечисления, попробуйте: Enum.GetValues(typeof(ScheduleType))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...