Как вызвать частичное представление с моделью в главном представлении, оба вида имеют разные модели - PullRequest
0 голосов
/ 08 октября 2019

У меня есть главное представление, в котором я хочу вызвать частичное представление, но мое частичное представление не является статичным, оно имеет модель, и обе модели (модель основного вида и модель частичного представления различны), когда я пишу @Html.Partial("MyPartialView") он говорит, что ссылка на объект не установлена ​​для экземпляра, это означает

Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the 
current web request. Please review the stack trace for more information 
about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set 
to an instance of an object.

это означает, что мне нужно вызвать метод контроллера, а также частичное представление о том, как этого добиться в основном при частичном представлении. записи.

1 Ответ

1 голос
/ 08 октября 2019

вы можете подготовить ваш частичный вид модели в действии вашего основного вида. Вы должны создать ViewModel, который имеет два свойства, одно из которых - модель для вашего основного вида, а другое - модель для вашего частичного представления. например:

public class ViewModel
{
    public List<MainModel> MainModels { get; set; }  
    public List<PartialViewModel> PartialViewModels { get; set; }
}

Код контроллера:

public ActionResult MainView()  
{  
    ViewModel mymodel = new ViewModel();  
    mymodel.MainModels = GetMainModels();  
    mymodel.PartialViewModels  = GetPartialViewModels();  
    return View(mymodel);  
}  

Просмотр кода

@model ViewModel   
...
PartialView("_Partial", Model.PartialViewModels);

Свойства не обязательно должны относиться к типу списка. Они могут быть одного и того же лица. Это зависит от ваших потребностей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...