在局部视图中将对象传递给模态

时间:2015-10-30 16:52:29

标签: asp.net-mvc asp.net-mvc-5

我有一个在页面上显示的模态局部视图,需要查看父对象。

模态通过ActionLink启动。我认为没有办法让这个模态看到父对象。我已将局部视图的模型属性设置为父对象的模型,但它无法看到它。

似乎这一切都必须通过查询字符串序列化?有一个更好的方法吗?我在父对象中有复杂的类型(例如List<>),出于安全考虑,我不想让它通过查询字符串传递,如果它可以的话。

我是否必须将ViewBag属性设置为父对象?

我有什么选择?

1 个答案:

答案 0 :(得分:0)

您必须将对象传递给partialview才能看到它。

在视图中:

@Html.Action("ChildView", "Controller", new { foo = Model.foo})

在控制器中:

[ChildActionOnly]
public ActionResult ChildView(Foo foo)
{            
     return View(foo);
}

如果您不想如上所示传递它,则可以始终将对象保持在状态。