【发布时间】:2021-01-04 15:51:43
【问题描述】:
首先我在 [HttpGet] 操作中创建模型列表并返回视图。
public ActionResult Setting()
{
var model = db.Settings.ToList();
return View(model);
}
他们在视图中获取列表并显示良好。 但是在编辑设置值后,我想将对象列表从视图传递到控制器,这不起作用。
@model List<TajerWebsite.Models.Setting>
<!-- Main content -->
<section class="content">
<div class="container-fluid">
<div class="row">
<!-- left column -->
<div class="col-md-6">
<!-- general form elements -->
<div class="card card-primary">
<div class="card-header">
<h3 class="card-title">تنظیمات</h3>
</div>
<!-- /.card-header -->
<!-- form start -->
@using (Html.BeginForm("Setting","Admin", new { FormMethod.Post }))
{
@Html.AntiForgeryToken()
foreach (var item in Model)
{
<div class="card-body">
<div class="form-group">
@Html.HiddenFor(model => item.Id)
<label for="exampleInputPassword1">@item.Name</label>
@Html.EditorFor(model => item.Value, new { htmlAttributes = new { @class = "form-control"} })
@Html.ValidationMessageFor(model => item.Value, "", new { @class = "text-danger" })
</div>
</div>
}
<!-- /.card-body -->
<div class="card-footer">
<button type="submit" class="btn btn-primary">ذخیره</button>
</div>
}
</div>
</div>
</div>
</div>
</section>
行动是:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Setting(IEnumerable<Models.Setting> settings)
{
db.Entry(settings);
db.SaveChanges();
return View(settings);
}
但设置为空!
【问题讨论】:
标签: asp.net asp.net-mvc entity-framework razor-pages