简体   繁体   English

如何绑定列表<model>在 ASP.NET Core MVC 中创建视图</model>

[英]how to bind List<model> to create view in ASP.NET Core MVC

I am trying to create a form to collect the qualifications of students.我正在尝试创建一个表格来收集学生的资格。 At first, the list should contain 4 objects for four different qualifications.首先,列表应包含 4 个对象,用于四种不同的资格。 segment of the create view创建视图的片段

@for (var i = 0; i < 4; i++)
{
          <div class="col-md-3 me-2">
              <label asp-for="@Model[i].Institute" class="control-label col-md"></label>
              <input asp-for="@Model[i].Institute" class="form-control" />
              <span asp-validation-for="@Model[i].Institute" class="text-danger"></span>
          </div>

          <div class="col-md-3 me-2">
              <label asp-for="@Model[i].YearGraduated" class="control-label"></label>
              <input asp-for="@Model[i].YearGraduated" class="form-control" />
              <span asp-validation-for="@Model[i].YearGraduated" class="text-danger"></span>
          </div>
}

<div class="form-group d-flex-row m-auto mt-2">
    <input type="submit" name="submit" value="Save and Continue"/>
</div>

This is my controller:这是我的 controller:

public IActionResult Create()
{
    var model = new List<Qualification>();
    model = _context.Qualifications.ToList();
    return View(model);
}

And this is the model class:这是 model class:

public partial class Qualification
{
    public Qualification()
    {
        Subjects = new HashSet<Subject>();
    }
    
    public int Id { get; set; }
    public int StudentId { get; set; }
    public string Institute { get; set; } = null!;
    public short YearGraduated { get; set; }
    public virtual Student Student { get; set; } = null!;

    public virtual ICollection<Subject> Subjects { get; set;
}

My problem is when I run the code, nothing is generated and no error at all.我的问题是当我运行代码时,没有生成任何东西,也没有任何错误。

Can anyone help?谁能帮忙?

Here you missing in your code.在这里,您的代码中缺少。

@model List<Qualification>  // declare on top of the file
    @if(Model !=null){
        for (var i = 0; i < Model.Count; i++)
        {
                  <div class="col-md-3 me-2">
          <label asp-for="@Model[i].Institute" class="control-label col-md"></label>
          <input asp-for="@Model[i].Institute" class="form-control" />
          <span asp-validation-for="@Model[i].Institute" class="text-danger"></span>
      </div>

      <div class="col-md-3 me-2">
          <label asp-for="@Model[i].YearGraduated" class="control-label"></label>
          <input asp-for="@Model[i].YearGraduated" class="form-control" />
          <span asp-validation-for="@Model[i].YearGraduated" class="text-danger"></span>
      </div>
        }
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM