0

我们有很多将 JSON 结果返回给视图的控制器。视图需要根据用户的合同类型和用户的家庭位置是动态的。

我正在考虑使用 MVC 3.0 ViewBag 对象传递合同类型和其他属性。查看然后访问此对象并切换 UI。

如果这是最好的方法,有人可以帮助我吗?这种方法的缺点是每个控制器都需要将 viewbag 传递给 UI,或者将所需的对象存储在 session 中并从 View 访问它是好的。

谢谢。

4

1 回答 1

3

ViewBag并且ViewData更多的是最糟糕的方法。ViewModel 应该包含 View 所需的一切。

如果您想了解更多有关原因和方式的信息,请查看 Darin Dimitrov 的精彩解释:ViewBag、ViewData 和 TempData

更新:在您写的评论中,您不能使用 ViewModel,因为您正在重新调整 JSON 结果。传递 JSON 也可以使用 ViewModel 完成:

public JsonResult SomeAction()
{
    SomeViewModel model = ...;
    return Json(model, JsonRequestBehavior.AllowGet);
}
于 2012-09-10T08:32:53.120 回答