1

在 MVC 视图中,我想从不同的控制器访问部分视图。在我解释我手头的问题之前,您应该知道我的解决方案中的所有内容:

Areas      
   MyArea    
        Views
         Cont1
           PartialPages
           ViewImIn
         Cont2
            PartialPages
               ViewICall

现在,在 ViewImIn.cshtml 我这样调用 ViewIcall.cshtml :

@Html.Partial("~/Views/Cont2/PartialPages/ViewICall.cshtml", Model)

但我不断收到错误消息,指出“未找到部分视图或视图引擎不支持搜索的位置......”

我也尝试过“../Cont2/PartialPages/ViewICall”及其变体。

4

3 回答 3

2

尝试这样称呼它

 @{Html.RenderPartial("ViewICall");}
于 2012-10-11T19:15:00.650 回答
0

与其在 Cont2 下拥有 PartialPages 文件夹,不如在 Views 下拥有一个 Shared 文件夹。然后应该可以直接找到:

@{Html.RenderPartial("ViewICall", Model);}
于 2012-10-11T19:39:27.533 回答
0

您还可以使用 RenderAction,它可能是您所寻找的,也可能不是。如果 ViewICall 的模型不同,或者您想分离模型/逻辑;然后你可以使用 RenderAction 来调用 Controller 方法并渲染结果。如果您尝试渲染的局部视图使用与当前视图相同的模型,则使用 RenderPartial。

  • 是 Phil Haack 关于 Html.RenderAction 和 Html.Action 的帖子
  • 是关于何时使用 RenderAction 以及何时使用 RenderPartial 的帖子
于 2012-10-15T14:40:28.613 回答