Родительский вид Модель:
public class HomeIndexViewModel
{
// other properties here - not needed by partial view
public InitiateCaseViewModel InitialCaseModel { get; set; }
}
public class InitiateCaseViewModel
{
// other properties for partial view here
public string Name { get; set; }
}
Родительский вид:
<partial name="~/Views/Case/Partials/_CreateCaseButtonsPartial.cshtml" for="@Model.InitiateCaseModel" />
Контроллер: Контроллерзаполняет модель родительского представления, и это - дочерняя модель представления для частичного представления.Предварительно загруженные значения отображаются в форме частичного представления, включая список выбора и т. Д.
Частичное представление
@model InitiateCaseViewModel
<form asp-action="InitiateCase" asp-controller="Case" id="createEnforcementCaseForm">
<div>
<label for="SelectedCaseTypeCode"></label>
<select class="form-control"
asp-for="SelectedCaseTypeCode"
asp-items="@(new SelectList(Model.CaseTypes, "Code", "Description"))"></select>
</div>
<label for="@Model.Name"></label>
<input type="text" for="@Model.Name"/>
<input type="submit" value="Submit"/>
</form>
Способ отправки:
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> InitiateCase(InitiateCaseViewModel model)
{
// model is NOT null here
// model fields are ALL NULL within the model, e.g. model.Name == null
// The SelectedCaseTypeCode value is null
// The "<label for" tags are empty - in spite of a Display(Name="llll") attribute on the model properties
}
Я думаю, что проблема как-то связана с привязкой ... но я не знаю!Было бы чисто и аккуратно, если бы я мог опубликовать форму из частичного представления, используя только модель частичного представления ... и эта модель частичного представления является переданным свойством модели представления родительской страницы.
Спасибо за внимание ....
В Айдахо в тупике