Попытка передать список данных из контроллера в частичное представление в MVC - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь передать список данных через viewbag от контроллера к частичному представлению, но получаю сообщение об ошибке

в форме входа в систему после отправки данных, забирающих их из formcollection через HttPost и после завершения действия возвращающихся на домашнюю страницу оттудаЯ вызываю метод Page_Init внутри этого метода loadmessage. Я пытаюсь вернуть список частичному представлению «Заголовок» на основе condition.but, но не могу выполнить получение ошибки

Домашний контроллер [HttpPost]

public ActionResult Login(FormCollection form)
{
 return View("Home");
}

в Home.cshtml вызывающий метод page_init в контроллере

$.get("/Home/Page_Init",null, function (data) {
           alert(data);
       }); 

Домашний контроллер

 public ActionResult Page_Init()
    {
     loadMessages();
     return view("Home");
    }

public ActionResult loadMessages()
{
 List<MessageModel> lstMessages = new List<MessageModel>();
 List<MessageModel> lstInfoMessages = new List<MessageModel>();
lstInfoMessages = lstMessages.Where(msg => msg.MESSAGE_TYPE.Equals(CommonConstants.SAFETY_MESSAGE_INFO, StringComparison.InvariantCultureIgnoreCase)).ToList<MessageModel>();
if (lstInfoMessages.Count > 0)
{
 ViewBag.lstInfoMessages = 1;
 ViewBag.lstInfoMessages1 = lstInfoMessages;
 return PartialView("Header", lstInfoMessages);
}

}

также пытается перейти к частичному виду из исходного вида

@ViewBag.lstInfoMessages1
@if (ViewBag.lstInfoMessages == 1)
{
    @Html.Partial("Header",ViewBag.lstInfoMessages1)
}  

Ожидается, что список информации должен перейти к частичному представлению и связать. Ошибка: Не получен точный синтаксис, что делать и как выполнить шаги, описанные выше, сгенерировать ошибку

1 Ответ

1 голос
/ 02 июля 2019

@Html.Partial метод не принимает динамическое значение - поэтому нам нужно привести его к фактическому типу.

@model MessageModel   //you need to give correct path of MessageModel
@ViewBag.lstInfoMessages1
@if (ViewBag.lstInfoMessages == 1)
{
    @Html.Partial("Header", (List<MessageModel>)ViewBag.lstInfoMessages1)
}

В режиме просмотра заголовка частично вы можете получить список, используя @Model

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