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

时间:2016-05-20 10:31:38

标签: asp.net-core-mvc tagbuilder

让我说我有这个局部观点:

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

怎么回事?将模型绑定到自己的身上?

2 个答案:

答案 0 :(得分:2)

使用:

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

答案 1 :(得分:0)

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

@model DateTime?
<input name="mytime" value="@Model" class="form-control" />

控制器:

public IActionResult ReadMyForm(DateTime? mytime)
{
    // Do your thing...
    return Ok();
}

或者如果你坚持使用asp-for,那么你可以使用一点hack:

@model DateTime?
@{
    var mytime = Model;
}
<input asp-for="@mytime" class="form-control" />

迟到总比没有好,我想:)