【发布时间】:2021-08-23 14:32:06
【问题描述】:
我正在使用 ASP.NET Core Razor Pages 并尝试绑定此属性,但是当我在 OnPost 函数处设置断点时,我得到一个空列表。
我正在使用 netcoreapp3.1
编辑.cshtml.cs
public class EditModel : PageModel
{
[BindProperty]
public List<List<Beam>> Beams { get; set; }
public void OnGet()
{
}
public void OnPost()
{
}
}
编辑.cshtml
<form method="post" >
@for (int i = 0; i < 2; i++)
{
@for (int j = 0; j < 2; j++)
{
<div class="form-group row">
<label asp-for="Beams[i].ElementAt(j).BeamLayerName" class="col-md-3 col-form-label">Beam @(j+1) Layer Name</label>
<div class="col-md-3">
<input asp-for="Beams[i].ElementAt(j).BeamLayerName" class="form-control">
<span asp-validation-for="Beams[i].ElementAt(j).BeamLayerName" class="alert-danger"></span>
</div>
</div>
<div class="form-group row">
<label asp-for="Beams[i].ElementAt(j).BeamDepth" class="col-md-3 col-form-label">Beam @(j+1) Depth </label>
<div class="col-md-3">
<input asp-for="Beams[i].ElementAt(j).BeamDepth" class="form-control">
<span asp-validation-for="Beams[i].ElementAt(j).BeamDepth" class="alert-danger"></span>
</div>
</div>
<div class="form-group row">
<label asp-for="Beams[i].ElementAt(j).BeamWidth" class="col-md-3 col-form-label">Beam @(j+1) Width</label>
<div class="col-md-3">
<input asp-for="Beams[i].ElementAt(j).BeamWidth" class="form-control">
<span asp-validation-for="Beams[i].ElementAt(j).BeamWidth" class="alert-danger"></span>
</div>
</div>
<div class="form-group row">
<label asp-for="Beams[i].ElementAt(j).BeamTopLevel" class="col-md-3 col-form-label">Beam @(j+1) Top Level </label>
<div class="col-md-3">
<input asp-for="Beams[i].ElementAt(j).BeamTopLevel" class="form-control">
<span asp-validation-for="Beams[i].ElementAt(j).BeamTopLevel" class="alert-danger"></span>
</div>
</div>
}
}
<button type="submit" class="btn btn-info">Save changes</button>
光束类
public class Beam
{
public int BeamId { get; set; }
public string BeamLayerName { get; set; }
public double BeamTopLevel { get; set; }
public double BeamDepth { get; set; }
public double BeamWidth { get; set; }
}
我做错了什么?
【问题讨论】:
标签: c# asp.net .net-core razor-pages asp.net-core-3.1