asp.net-mvc-3 – 从单控制器操作返回多个部分视图?

前端之家收集整理的这篇文章主要介绍了asp.net-mvc-3 – 从单控制器操作返回多个部分视图?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要从Ajax调用更新Multiplex,我感到困惑的是如何从Controller Action方法返回这些Multiple视图。

解决方法

您只能从函数返回一个值,因此您不能从一个操作方法返回多个部分。
如果您尝试将两个模型返回到一个视图,请创建一个视图模型,其中包含要发送的两个模型,并将视图模型作为新的viewmodel。
例如。

您的视图模型将如下所示:

  1. public class ChartAndListviewmodel
  2. {
  3. public List<ChartItem> ChartItems {get; set;};
  4. public List<ListItem> ListItems {get; set;};
  5. }

那么你的控制器操作将是:

  1. public ActionResult ChartList()
  2. {
  3. var model = new ChartAndListviewmodel();
  4. model.ChartItems = _db.getChartItems();
  5. model.ListItems = _db.getListItems();
  6.  
  7. return View(model);
  8. }

最后你的看法是:

  1. @model Application.viewmodels.ChartAndListviewmodel
  2.  
  3. <h2>Blah</h2>
  4.  
  5. @Html.RenderPartial("ChartPartialName",model.ChartItems);
  6.  
  7. @Html.RenderPartial("ListPartialName",model.ListItems);

猜你在找的asp.Net相关文章