Путь в методе 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