如何将父级的id传递给子级的create视图

时间:2010-09-30 19:15:47

标签: vb.net asp.net-mvc-2

我是MVC2的新手,我的问题应该是非常基本的。至少我是这么认为的,直到我无法在网上找到任何答案,所以我在这里。

我有一个可以有0到多个孩子的父对象池问题。

在Pool的详细信息视图中,除了Pool的属性之外,我在问题操作列表中使用RenderAction渲染他的孩子,到目前为止,非常好。

在我的列表视图问题中(总是在详细信息视图中呈现),我想要一个按钮来启动Question对象的Create操作。我的问题是,我不知道如何将Pool对象(我的详细信息视图的模型)传递给Create操作,以便我可以将我的问题链接到正确的Pool。

有没有办法通过RenderAction访问“包含”视图中的“主”模型,如果没有,那么实现解决方法的最佳方法是什么。

由于

2 个答案:

答案 0 :(得分:1)

这是我在MVC中最喜欢的隐藏宝石之一..这将为您提供父模型:

<% object parentModel = ViewContext.ParentActionViewContext.ViewData.Model; %>

答案 1 :(得分:0)

Clicktricity的回答帮助我尝试访问Html.Action的父模型时出现类似问题。我在同一个调用中传递模型和docOrdinal时遇到了麻烦,并且能够解决它。

[ChildActionOnly]
public ActionResult ActiveDocumentsDegree(string docOrdinal) 
{
    var model = (UserModel)ControllerContext.ParentActionViewContext.ViewData.Model;
    .
    .
    .
}