Asp.NET MVC 6,TagHelper "asp-for" 对自身建模

Asp.NET MVC 6, TagHelper "asp-for" to Model itself

假设我有这个局部视图:

@model DateTime?
<input asp-for="???" class="form-control" />

什么去???绑定到模型本身?

它看起来像 asp-for 标签助手设置输入 html 标签的 "name" 和 "value" 属性。如果您的模型是简单类型或复杂类型,其行为类似于字符串或 DateTime 等值类型?,asp-for 帮助程序在设置 "name" 属性时失败。所以你的选择是:

@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" />

我想迟到总比不到好:)

使用:

<input asp-for="@Model" class="form-control" />