在MVC3中使用两个局部视图

时间:2011-08-25 05:07:09

标签: asp.net-mvc-3 partial-views

在我的asp.net mvc3应用程序中,我为两个不同的动作创建了两个部分视图, partviewresult setcomment和 partialviewresult getcomment

我使用创建强类型视图和不同的脚手架模板创建了局部视图 对于_setcomment我正在使用创建模板,而对于_getcomment,我正在使用列表模板。

现在我想在一个视图中同时调用_setcomment和_getcomment部分视图。

在我的视图文件.cshtml

_setcomment - 
            @model <NAMESPACE>.<MODELNAME>
            <some code>
_getcomment - 
            @model IEnumerable<<NAMESPACE>.<MODELNAME>>
            <some code>

如何在一个视图中调用不同的局部视图? 有什么建议吗?

2 个答案:

答案 0 :(得分:0)

有不同的方法可以做到。

如果您已在主视图中拥有模型类数据,则可以使用 在主视图中调用

@Html.Partial("PartialViewName1",model1)
@Html.Partial("PartialViewName1",model2)

如果您在邮件视图中没有模型类数据,那么您可以在控制器上调用该操作,然后从那里返回部分视图。

@Html.Action("Controller","Action1")
@Html.Action("Controller","Action2")

在Controller类

PartialResult Action1()
{
 model = new ModelClass();
 return PartialView(model);
}

希望这有帮助。

答案 1 :(得分:0)

您的问题的答案是在单个视图中使用以下内容:

@{ Html.RenderAction("ActionName", "ControlerName"); }
@{ Html.RenderAction("ActionName2", "ControlerName2"); }

这会做你想要实现的目标,但是,我认为设计存在问题。你想要实现什么目标?