我正在尝试使用点网核心在数据库中设置数据,其他所有内容都可以插入,除非它试图从选项菜单中获取数据。这是视图中的代码(部分是因为我认为不需要整个代码,如果有必要,请告诉我我将其上载。)
我究竟做错了什么?在此先感谢<3
` <label asp-for="Seizure">Seizure:</label>
<select asp-for="Seizure" name="seizures" id="seizures">
<option value="fixeddecorative">Fixed / decorative hatch</option>
<option value="functional">Functional hatch</option>
</select>
</div>
<div class="form-group">
<label asp-for="HatchTrap">Hatch trap:</label>
<select asp-for="HatchTrap" name="hatchtraps" id="hatchtraps">
<option value="nowindcatcher">No wind catcher</option>
<option value="modelA">Model A</option>
<option value="modelB">Model B</option>
<option value="modelC">Model C</option>
</select>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-primary" />
</div>`
这是我的控制器的代码:
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create([Bind("OrderId,Model,Color,Size,Seizure,HatchTrap,User")] ShutterOrders order)
{
if (ModelState.IsValid)
{
_context.Add(order);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Create));
}
return View(order);
}
模型绑定通过源查找名称模式prefix.property_name
。如果什么也没找到,它看起来只是property_name
没有prefix
。在你的代码,选择列表的名称不能在属性相匹配ShutterOrders
的模式。
并且您需要知道默认情况下asp-for
会生成name
和id
html元素。作为示例,如果使用以下代码:
<select asp-for="HatchTrap">
</select>
它将在浏览器中生成html:
<select id="HatchTrap" name="HatchTrap">
</select>
因此,为了满足您的要求,只需删除名称和id(id是可选的,您可以删除或保留它):
@model ShutterOrders
<form asp-action="Create">
//other properties...
<div class="form-group">
<label asp-for="Seizure">Seizure:</label>
<select asp-for="Seizure">
<option value="fixeddecorative">Fixed / decorative hatch</option>
<option value="functional">Functional hatch</option>
</select>
</div>
<div class="form-group">
<label asp-for="HatchTrap">Hatch trap:</label>
<select asp-for="HatchTrap">
<option value="nowindcatcher">No wind catcher</option>
<option value="modelA">Model A</option>
<option value="modelB">Model B</option>
<option value="modelC">Model C</option>
</select>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
</form>
结果:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句