Asp.net mvc 试图在mvc中将数据列表从控制器传递到部分视图

Asp.net mvc 试图在mvc中将数据列表从控制器传递到部分视图,asp.net-mvc,Asp.net Mvc,我试图通过viewbag将数据列表从控制器传递到部分视图,但出现错误 在登录表单中,在提交数据后,通过HttPost从formcollection获取数据,一旦操作完成,返回主页。我在“loadmessage”方法中调用方法page_Init。在“loadmessage”方法中,我尝试根据条件将列表返回到部分视图“Header”。但无法执行获取错误 家庭控制器 [HttpPost] public ActionResult Login(FormCollection form) { return

我试图通过viewbag将数据列表从控制器传递到部分视图,但出现错误

在登录表单中,在提交数据后,通过HttPost从formcollection获取数据,一旦操作完成,返回主页。我在“loadmessage”方法中调用方法page_Init。在“loadmessage”方法中,我尝试根据条件将列表返回到部分视图“Header”。但无法执行获取错误

家庭控制器 [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);
}

}
预期信息列表应转到局部视图并绑定
错误:没有获得确切的语法,无法执行上面尝试的步骤。抛出错误。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 MessageModel//您需要给出MessageModel的正确路径
@ViewBag.lstInfoMessages1
@如果(ViewBag.lstInfoMessages==1)
{
@Html.Partial(“标题”,(列表)ViewBag.lstInfoMessages1)
}

在Header Partial view中,您可以使用
@Model

检索列表,而不知道错误消息,这很难帮助您,但我猜,Page_Init action中缺少return语句(您可能会遇到构建错误)。@sam return message在那里,但是使用viewbag将数据列表发送到Partial的最佳方式是什么。直接从控制器方法或通过视图。我已按您所述进行了尝试,但出现了错误“找不到类型或名称sapce'MessageModel'(您是否缺少使用指令或汇编引用)@model MessageModel//您需要在主视图以及定义MessageModel的头视图中提供MessageModel的正确路径?
@model MessageModel   //you need to give correct path of MessageModel
@ViewBag.lstInfoMessages1
@if (ViewBag.lstInfoMessages == 1)
{
    @Html.Partial("Header", (List<MessageModel>)ViewBag.lstInfoMessages1)
}