![](/img/trans.png)
[英]AspNet Core Identity GetExternalLoginInfoAsync Always Null
[英]ASPNET Core mvc 3.1 form always null on POST
我在剃刀视图中有多种形式。 表单是根据数据库值动态创建的。 现在,当我将表单发布到服务器时,我总是得到空列表,但验证正在工作。 这是我的代码
看法
<form id="@distinc[i].CategoryName.Replace(" ", string.Empty)" asp-action="Report" asp-controller="Laboratory">
@{
var obj = (List<ReportModel>)ViewBag.ReportModel;
var distinct = obj.DistinctBy(m => m.CategoryName).ToList();
@for (int i = 0; i < distinct.Count(); i++)
{
<form id="@distinc[i].CategoryName.Replace(" ", string.Empty)" asp-action="Report" asp-controller="Laboratory">
@{
var items = obj.Where(m => m.CategoryName == distinc[i].CategoryName).ToList();
}
<div class="row g-3">
@for (int k = 0; k < items.Count(); k++)
{
<input asp-for="@items[k].RequestId" hidden />
<input asp-for="@items[k].ServiceName" hidden />
<div class="col-md-4 pt-0 pb-0 mb-0 mt-0">
<label class="form-label">@items[k].ServiceName</label>
<input asp-for="@items[k].Result" class="form-control form-control-sm" />
<span asp-validation-for="@items[k].Result" class="small text-danger"></span>
</div>
}
</div>
<div class="d-flex justify-content-between mt-3 border-0">
<button type="submit" class="btn btn-sm btn-primary">Save</button>
</div>
</form>
}
行动
[HttpGet]
public async Task<IActionResult> Report(int id)
{
var model = await laboratoryRepository.GetRequests(id);
ViewBag.ReportModel = model;
return View();
}
[HttpPost]
public async Task<IActionResult> Report(List<ReportModel> model)
{
}
模型类
public class ReportModel : PatientInfo
{
public long RequestId { get; set; }
public string ServiceName { get; set; }
public string CategoryName { get; set; }
[Required]
public string Result { get; set; }
}
我尝试使用[FromForm]
属性,但没有运气。 我应该怎么办?
使参数名称一致。 将model
更改为items
:
[HttpPost]
public async Task<IActionResult> Report(List<ReportModel> items)
{
...
}
您不能在 mvc list of model
[HttpPost]
public async Task<IActionResult> Report(ReportModel model)
{
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.