MVC 6 VNext, как установить HtmlFieldPrefix?
Мой взгляд делится на частичные взгляды. Следовательно, на момент представления моя модель не была правильно восстановлена.
В представлении страницы отображаются данные о сотрудниках, где Employee.Contactinfo - это модель частичного представления _contactInfo, которое также имеет частичное представление _phoneInfo для отображения информации о телефоне, имеющей модель Employee.ContactInfo.PhoneInfo.
Теперь проблема с названием свойств. Employee.ContactInfo.PhoneInfo.Contact1 во время рендеринга имеет имя «Contact1», поэтому во время представления модель не была создана надлежащим образом, я получаю примитивные данные Employee, но сложный тип, такой как ContactInfo, имеет значение null.
Я думаю, что решение состоит в том, чтобы добавить префикс во время рендеринга частичного представления. Как я могу выполнить следующее в MVC 6?
employee.cshtml
@model Employee
<% Html.RenderPartial("_conctactInfo", Model.ContactInfo, new ViewDataDictionary
{
TemplateInfo = new System.Web.Mvc.TemplateInfo { HtmlFieldPrefix = "ContactInfo" }
})
%>
_contactInfo.cshtml
@model ContactInfo
<% Html.RenderPartial("_phoneInfo", Model.PhoneInfo, new ViewDataDictionary
{
TemplateInfo = new System.Web.Mvc.TemplateInfo { HtmlFieldPrefix = "PhoneInfo" }
})
%>
_phoneInfo.cshtml
@model PhoneInfo
<input asp-for="@Model.Contact1" />