【发布时间】:2019-04-11 04:02:02
【问题描述】:
我理解错误的含义,但不是在这种情况下。 VS的错误列表指向下面的第一行并说
无法将 null 转换为“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,就好像它可以为空一样?没有意义。
【问题讨论】:
-
也许
MyNamespace.ViewModels.Workflow.Schedule命名空间中有一些static代码会做坏事? -
只是确认一下,这是编译器错误,而不是运行时错误?如果您摆脱
@using并使用ScheduleType的完整命名空间会发生什么?我试图了解是否出于某种奇怪的原因,它在错误的行上指示错误。
标签: c# asp.net asp.net-mvc razor razor-pages