无法在局部视图中渲染局部视图

时间:2014-06-22 03:10:40

标签: asp.net-mvc

我有这个观点:

<div>
    ...
    @{ Html.RenderPartial("Partial/_Arena); }
</div>

这是竞技场的局部视图:

<div>
    ...
    @{ Html.RenderPartial("Arena/_PlayerSection"); }
</div>

_Arena.cshtml在渲染_PlayerSection.cshtml时会抛出错误。这是文件结构:

Partial ->
    _Arena.cshtml
    Arena ->
        _PlayerSection.cshtml

我已尝试在同一目录中使用@{ Html.RenderPartial("_PlayerSection"); }_PlayerSection.cshtml,但查找文件时仍然出错。我希望部分视图位于此子目录中以用于组织目的,而不是将它们全部集中在/ Views / Shared目录中。

1 个答案:

答案 0 :(得分:0)

我发现部分相对路径的根目录不是由文件的位置决定的,而是由视图目录的位置决定的。

所以,在我的情况下,使用这样的结构:

ServerRoot ->
    Views ->
        Arena ->
            BaseView.cshtml
            Partial ->
                _Arena.cshtml
                ArenaPartial ->
                    _PlayerSection.cshtml

我必须使用@{ Html.RenderPartial("Partial/ArenaPartial/_PlayerSection"); }才能使其正常工作。