Невозможно отобразить частичное представление в частичном представлении

#asp.net-mvc

#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"); } with _PlayerSection.cshtml в том же каталоге, но по-прежнему возникает ошибка при поиске файла. Я бы хотел, чтобы частичные представления находились в этом подкаталоге для организационных целей, а не объединяли их все в каталоге /Views / Shared .

Комментарии:

1. Вы создали проект? или вы создали контроллер?

2. Я в замешательстве по поводу вопроса, проект строится просто отлично, проблема заключается в исключении во время выполнения, когда я нажимаю действие, которое возвращает это представление.

3. Опубликуйте ошибку, которую вы получаете. Кроме того, попробуйте изменить свои частичные блоки кода на @Html.Partial(«Arena / _PlayerSection»)

4. Я опубликую полную ошибку позже сегодня, но это простая ошибка, связанная с тем, что файл не найден.

Ответ №1:

Я обнаружил, что корневой каталог для частичных относительных путей определяется не расположением файла, а расположением каталога представления.

Итак, в моем случае с такой структурой:

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

Я должен был использовать @{ Html.RenderPartial("Partial/ArenaPartial/_PlayerSection"); } , чтобы он работал.