MVC4 Partial View Error “Ссылка на объект не установлена ​​в экземпляр объекта.”

Сначала я полный новичок в MVC. Как я могу отображать данные из базы данных в таблице событий в частичном представлении, если определенное логическое поле истинно.

Это мое частичное представление:

@model IEnumerable  @foreach (var item in Model) {  } 
@Html.DisplayNameFor(model => model.Event_Name) @Html.DisplayNameFor(model => model.Event_Date)
@Html.DisplayFor(modelItem => item.Event_Name) @Html.DisplayFor(modelItem => item.Event_Date)

Это мой controller

 public ActionResult _RecommendedEvents() { var recommendedevents = from Events in db.Database1 select Events; recommendedevents = recommendedevents.Where(s => s.Recommended.Equals(true)); return PartialView("_RecommendEvents", recommendedevents); } 

И Код для отображения частичного просмотра

  @Html.Partial("_RecommmndedEvents") 

Это ошибка, которую я получаю

введите описание изображения здесь

[РЕДАКТИРОВАТЬ]

  public ActionResult _RecommendedEvents(RecommendedEvents model) { model = new RecommendedEvents(); var recommendedevents = from Events in db.Database1 select Events; recommendedevents = recommendedevents.Where(s => s.Recommended.Equals(true)); return View(model); } 

 @{ Html.RenderAction("view","controller") } 

Это перейдет к данному controllerу и действию, которое должно вернуть частичное представление с правильной моделью

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

 List recommendedevents = new List(); 

заменяя события любым типом.

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

 @Html.Partial("_RecommendedEvents", Model.Events) 

или загрузить частичный через вызов ajax. см. мой ответ здесь для примера. Как визуализировать частичный элемент формы с помощью AJAX

Функция @HTML.Partial() не выполняет какое-либо действие controllerа для рендеринга, она просто отображает HTML в этом месте в документе. И вы не переходите в IEnumerable к этому частичному виду, поэтому, когда это частичное рендеринг, Model равна нулю.

Поместите объект IEnumerable в модель просмотра вашей главной страницы или, возможно, на что-то в ViewBag, и передайте его частичному представлению в то время, когда вы вызываете метод Partial:

@HTML.Partial("_RecommmndedEvents", ViewBag.RecommendedEvents)

В действии controllerа верхнего уровня страницы установите этот параметр ViewBag.RecommendedEvents же, как то, как вы создаете его в коде controllerа выше.

Ошибка означает, что ваша модель равна null, PartialView() используется, когда вы используете Ajax , иначе вы можете написать свой код, как PartialView() ниже:

 return View("_RecommendEvents", recommendedevents);