Asp.NET MVC 6, TagHelper "asp-for" для моделирования себя

Допустим, у меня есть это частичное представление:

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

Что идет в??? привязать к модели себя?

1 ответ

Использование:

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

Похоже, что помощник тега asp-for устанавливает атрибуты "name" и "value" входного HTML-тега. Если ваша модель представляет собой простой тип или сложный тип, который ведет себя как тип значения, такой как строка или 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" />

Наверное, лучше поздно, чем никогда:)

Другие вопросы по тегам