MVC 6 VWeiter, wie man HtmlFieldPrefix einstellt?

Meine Ansicht ist in Teilansichten unterteilt. Daher wird mein Modell zum Zeitpunkt der Einreichung nicht korrekt rekonstruiert.

In der Seitenansicht werden Mitarbeiterdaten angezeigt, wobei Employee.Contactinfo das Modell der Teilansicht _contactInfo ist, die wiederum eine Teilansicht _phoneInfo zum Rendern von Telefoninformationen mit dem Modell Employee.ContactInfo.PhoneInfo enthält.

Nun liegt das Problem beim Namen der Eigenschaften. Employee.ContactInfo.PhoneInfo.Contact1 hat zum Zeitpunkt des Renderns den Namen "Contact1", daher wird das Modell zum Zeitpunkt der Übermittlung nicht ordnungsgemäß erstellt. Ich erhalte primitive Daten von Employee, aber komplexe Typen wie ContactInfo sind null.

Ich denke, die Lösung besteht darin, das Präfix zum Zeitpunkt des Renderns der Teilansicht hinzuzufügen. Wie kann ich in MVC 6 Folgendes ausführen?

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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage