У меня есть две модели, подобные этой:
public class Student
{
public string StudentId{get;set;}
public String StudentName{get;set;}
public StudentStatus StudentStatus{get;set;}
}
public class StudentStatus
{
public string StudentStatusId{get;set;}
public string StudentStatusTitle{get;set;}
}
У меня есть модель вида:
public class StudentCrudModel
{
public Student Student{get;set;}
public IEnumerable<StudentStatus> StudentStatuses{get;set;}
}
У меня есть представление для создания нового студента
@model StudentDatabase.ViewModels.StudentCrudModel
<h1>Create</h1>
<h4>Department</h4>
<hr />
<div class="row">
<div class="col-md-4">
<form asp-action="Create">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="Student.StudentName" class="control-label"></label>
<input asp-for="Student.StudentName" class="form-control" />
<span asp-validation-for="Student.StudentName" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="Student.StudentStatus" class="control-label"></label>
<select asp-for="Student.StudentStatus.StudentStatusId" class="form-control">
@foreach (var status in Model.StudentStatuses)
{
<option value="@status.StudentStatusId">@status.StudentStatusTitle</option>
}
</select>
<span asp-validation-for="Student.StudentStatus" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
</form>
</div>
</div>
В моем контроллере метод post для создания нового студента, у меня есть это
public async Task<IActionResult> Create([Bind("StudentId,StudentName,StudentStatus,StudentStatus.StudentStatusId")] Student student){
//code that creates a student
}
Моя проблема в том, что в методе контроллера для создания студента метод становится нулевым независимо от значений, которые я ввел при загрузке приложения моя модель привязки не работает. Заранее благодарим за помощь.