Я пытался визуализировать партиал при нажатии на навигационную таблетку. Я могу видеть партиал и поля, пока я использую модель страницы.В настоящее время я использую Razor Pages .NET2.2.Мой вопрос заключается в том, как получить частичную страницу для использования PageModel с частичной страницей.У меня есть еще много полей в модели автомобиля, и я хочу использовать их на неполной странице.Кажется, он хочет PageModel в ViewDataDictionary.Итак, как мне передать PageModel в нее, чтобы я мог использовать PageModel на неполной странице?
Метод и модель модели моей страницы (CarEditModel)
[BindProperty]
public Car Data { get; set; }
public PartialViewResult OnGetCarPartial(int Id)
{
Data = Repo.GetById(Id);
return Partial("_EditCarPartial",Data);
}
Моя частичная страница
@model CARORDR.Areas.Auto.Pages.Edit.CarEditModel
@{
Layout = null;
}
<div class="panel panel-default">
<div class=" panel-heading">
<div class="form-group">
<label asp-for="Data.CarId" class="control-label">Car ID</label>
<input asp-for="Data.CarId" type="text" class="form-control" value="" />
<span asp-validation-for="Data.CarId" class="text-danger"></span>
<label asp-for="Data.CarName" class="control-label">Car Name</label>
<input asp-for="Data.CarName" type="text" class="form-control" >
<span asp-validation-for="Data.CarName" class="text-danger"></span>
</div>
</div>
Моя страница
@Page
@model CARORDR.Areas.Auto.Pages.Edit.CarEditModel
@{
Layout = Layout;
}
<div id="partialPagegoesHere"></div>
Исключение, которое я получаю
System.InvalidOperationException Message = Элемент модели, переданный в ViewDataDictionary, имеет тип 'CARORDR.Models.Car', но для этого экземпляра ViewDataDictionary требуется элемент модели типа' CARORDR.Areas.Auto.Pages.Edit.CarEditModel '.
Обновление: вот решение, которое я нашел для этой проблемы
public PartialViewResult OnGetCarPartial(int Id)
{
Data = Repo.GetById(Id);
return Partial("_EditCarPartial",this);
}