【发布时间】:2020-09-02 13:20:38
【问题描述】:
例如,我的视图中有这个:
<div class="form-group">
<label asp-for="Departamento.Departamento" class="control-label"></label>
<input name="Departamento" class="form-control" />
<span asp-validation-for="Departamento.Departamento" class="text-danger"></span>
</div>
正如您在输入中看到的那样,我有 name="Departamento",因为在我的模型中我有字符串 Departamento.. 我想使用 asp-for="Departamento",但由于我的模型是两个模型的组合,我无法直接访问它,它将是 asp-for="Departamentos.Departamento"... 所以这给了我错误的文本和不会插入数据库...有什么帮助吗?
编辑:我的模型:
public class Departamentos
{
public int Id { get; set; }
public string Departamento { get; set; }
public string Autor { get; set; }
public int Ordem { get; set; }
public DateTime Criado { get; set; }
public List<AreasDepartamentos> Areas { get; set; }
}
```
public class AreasDepartamentos
{
public int AreasId { get; set; }
public Areas Area { get; set; }
public int DepartamentoId { get; set; }
public Departamentos Departamento { get; set; }
}
My controller post :
´´´
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create([Bind("Id,Departamento,Autor,Ordem")] Departamentos departamentos, int[] areas)
{
List<AreasDepartamentos> areasLista = new List<AreasDepartamentos>();
foreach(var i in areas)
{
areasLista.Add(new AreasDepartamentos() { AreasId = i, DepartamentoId = departamentos.Id });
}
departamentos.Areas = areasLista;
departamentos.Criado = DateTime.Now;
if (ModelState.IsValid)
{
_context.Add(departamentos);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
return View(departamentos);
}
´´´
【问题讨论】:
-
它可以很好地与我的项目中的标签助手一起工作。你能分享你的模型吗?你用什么,mvc 或剃刀页面?另外,请分享你想在后端接收的模型是什么.
-
我会用有问题的模型编辑问题,他们可能有点令人困惑,因为我是新手,但你去吧:)
标签: c# html .net asp.net-core model