我是一位经验丰富的Visual Basic程序员,试图通过Razor Pages学习Visual Studio。我已按照本教程进行操作,无法克服错误。当我添加教师讲授的课程(以下代码)并单击“保存”时,出现错误
NullReferenceException: Object reference not set to an instance of an object.
ContosoUniversity.Pages.Instructors.Pages_Instructors_Edit.<ExecuteAsync>b__19_0() in Edit.cshtml
foreach (var course in Model.AssignedCourseDataList)
这是我的代码
</div> <div class="form-group">
<div class="col-md-offset-2 col-md-10">
<<tr>
@{
int cnt = 0;
foreach (var course in Model.AssignedCourseDataList)
{
if (cnt++ % 3 == 0)
{
@:</tr><tr>
}
@:<td>
<input type="checkbox"
name="selectedCourses"
value="@course.CourseID"
@(Html.Raw(course.Assigned ? "checked=\"checked\"" : "")) />
@course.CourseID @: @course.Title
@:</td>
}
@:</tr>
}
</table>
</div>
但是我发现,如果我在课程分配(以下代码)之前删除了教师的办公地点,该错误就会消失。在创建讲师页面上会发生相同的问题。我只是无法弄清楚为什么一个或另一个可以工作,但不能同时工作。非常感谢您的帮助
<div class="form-group">
<label asp-for="Instructor.OfficeAssignment.Location" class="control-label"></label>
<input asp-for="Instructor.OfficeAssignment.Location" class="form-control" />
<span asp-validation-for="Instructor.OfficeAssignment.Location" class="text-danger" />
</div>
答案 0 :(得分:0)
如果此问题仍然困扰您,则可能是因为您没有正确复制模型,因此请重新检查模型,(5/8)。
您可以尝试在OnPostAsync方法中输入此内容,以获得有关它的更多信息,
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}