У меня есть модель представления, у которой есть еще одна дочерняя модель для частичного просмотра (ниже).
public class ExamResultsFormViewModel
{
public PreliminaryInformationViewModel PreliminaryInformation { get; set; }
public string MemberID { get; set; }
public string MemberName { get; set; }
public int PatientID { get; set; }
public string ConfirmationID { get; set; }
public bool IsEditable { get; set; }
#region Select Lists
public SelectList ProviderOptions { get; set; }
#endregion
}
public class PreliminaryInformationViewModel
{
public string ProviderName { get; set; }
public string ProviderID { get; set; }
public string ServiceLocation { get; set; }
}
Эта модель представления PreliminaryInformationViewModel также используется в качестве дочерних моделей в другой модели представления, поскольку эта предварительная информация может быть обновлена на разных страницах.
Итак, я создал эту предварительную информацию как отдельную часть и включил ее на другие страницы.
@{Html.RenderPartial("_PreliminaryInformation", Model.PreliminaryInformation);}
Внутри частичного
@model Web.Models.Preliminary.PreliminaryInformationViewModel
<div>
@Html.TextBoxFor(x => x.DateOfService })
</div>
Но проблема заключается в том, что эта предварительная модель всегда равна нулю из-за того, что атрибут имени HTML всегда отображается как
но когда я передаю родительскую модель частичной, как показано ниже.
@model Web.Models.Exam.ExamResultsFormViewModel
<div>
@Html.TextBoxFor(x => x.PreliminaryInformation.DateOfService })
</div>
Теперь элемент HTML создается как
<input type = 'text' name='PreliminaryInformation.DateOfService.DateOfService' id='PreliminaryInformation.DateOfService'>
и он правильно связывается во время отправки.
Я понимаю, что MVC привязывает значение элемента на основе значения атрибута name, но для второй реализации мне потребуется создать несколько частичных для каждой страницы, что мне не нравится.
До сих пор я не мог найти решение для работы с первой версией, есть способ, которым я могу связать привязку значения предварительной информационной модели во время отправки с первой реализацией.