Путь в методе PartialView (для обмена ими между приложениями)

Я хочу поделиться некоторыми Partial View между некоторыми приложениями. Я пробовал разные решения, которые предлагаются в Интернете, но никто из них не работает! Но я надеюсь, что используя метод абсолютного или отношения в методе PartialView, он работает, но я не знаю, возможно ли это или нет.

Итак, здесь есть два вопроса:

  • Если я создаю общий проект в своем решении в качестве поддомена, могу ли я использовать URL его в другом проекте PartialView?
  • Если я создаю общую папку в своем решении, я использую путь, похожий на "~/../Common/myView.cshtml". В этом случае Visual Studio не ошибается для меня в редакторе по времени выполнения. Я получил ошибку ( "Не могу использовать ведущий.. для выхода за верхний каталог" ). Итак, можно ли использовать путь к общей папке за пределами корня?

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

Как вы видите, в моем решении есть общая папка, содержащая _MainMenu.cshtml, а также этот файл в общей папке в проекте сайта.

Как написать PartialView в контроллере Admin для каждого из них?

Мне нужен такой код:

Для общей папки:

return PartialView("~/../Common/_MainMenu.cshtml");

Для общей папки:

return PartialView("http://localhost:16287/Module/Menu/_MainMenu");

введите описание изображения здесь

Ответ 1

  • Не может быть.
  • Не очень хорошая идея.

Поскольку этот код не может быть скомпилирован в DLL и может быть использован просто ссылкой на него, вам лучше создать Области в приложении или реплицировать ваши представления.

Изменить: Razor Views может быть скомпилирован. Но это не меняет того факта, что на View нельзя ссылаться на распознаватель пути Razor View Path, если он находится вне веб-проекта. Виртуальные пути могут работать. Благодаря @DaveAlperovich