【发布时间】:2016-09-17 13:59:01
【问题描述】:
假设我有这个部分视图:
@model DateTime?
<input asp-for="???" class="form-control" />
什么去???将其自身绑定到模型?
【问题讨论】:
标签: asp.net-core-mvc tagbuilder
假设我有这个部分视图:
@model DateTime?
<input asp-for="???" class="form-control" />
什么去???将其自身绑定到模型?
【问题讨论】:
标签: asp.net-core-mvc tagbuilder
用途:
<input asp-for="@Model" class="form-control" />
【讨论】:
看起来 asp-for 标签助手设置了输入 html 标签的“名称”和“值”属性。如果您的模型是简单类型或复杂类型,其行为类似于字符串或 DateTime? 等值类型,则 asp-for 帮助程序无法设置“名称”属性。所以你的选择是:
@model DateTime?
<input name="mytime" value="@Model" class="form-control" />
还有控制器:
public IActionResult ReadMyForm(DateTime? mytime)
{
// Do your thing...
return Ok();
}
或者如果你坚持使用 asp-for,那么你可以使用一些小技巧:
@model DateTime?
@{
var mytime = Model;
}
<input asp-for="@mytime" class="form-control" />
迟到总比没有好,我猜 :)
【讨论】: