【发布时间】:2019-07-02 03:52:35
【问题描述】:
我正在尝试通过 viewbag 将数据列表从控制器传递到部分视图,但出现错误
在通过 HttPost 从 formcollection 提交数据后在登录表单中,一旦操作完成,它就会从那里返回主页,我在“loadmessage”方法中调用方法 Page_Init,我试图将列表返回到部分视图“标题" 基于条件。但无法执行获取错误
家庭控制器 [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)
}
期望信息列表应该去局部视图和绑定 错误:没有得到确切的语法做什么以及如何继续上面尝试的步骤抛出错误
【问题讨论】:
-
在不知道错误消息的情况下,很难帮助但我猜,Page_Init 操作中缺少 return 语句(您可能会遇到构建错误)。
-
@sam 返回消息在那里,但是使用 viewbag 将数据列表发送到部分的最佳方法是什么。直接从控制器方法或通过视图。
标签: asp.net-mvc