2015-05-05 3 views
3

У меня есть проект ASP.NET MVC, и я хочу поместить файлы CSHTML за пределы папки просмотра. Хотя я могу сделать это легко, добавив файлы CSHTML в нужную папку, я не могу отображать частичный результат поиска из этих файлов.Файл CSHTML за пределами папки с образцами

Структура папки, которую я сейчас имею, выглядит примерно следующим образом: Корень | | --Комплекты | | --- Welcome.cshtml | | --Посмотреть | | ---

Я использую ниже синтаксис одного из действий контроллера

public ActionResult Welcome() 
    { 
     return PartialView("Welcome"); 
    } 

Однако, делая так, как бритва не в состоянии найти Welcome.cshtml. Я прочитал об использовании настраиваемого механизма просмотра, чтобы изменить местоположение поиска по умолчанию и т. Д. И т. Д., Но задаюсь вопросом, можно ли это просто решить путем добавления конфигурации.

+1

Вы можете использовать относительный путь и включить расширение .cshtml. Посмотрите на это сообщение для получения дополнительной информации: http://stackoverflow.com/questions/208421/render-partial-from-different-folder-not-shared –

ответ

2

Вы можете указать корневой путь при возврате View/PartialView. Например:

public PartialViewResult Welcome() 
{ 
    return PartialView("~/Templates/Welcome.cshtml"); 
} 
+1

Работает как шарм. Просто нужно было включить следующее в верхней части моего частичного cshtml @inherits System.Web.Mvc.WebViewPage – Adinosine

+0

Это хороший ответ, но если вы хотите настроить места, где MVC ищет представления, ознакомьтесь с этой статьей, это бит, но он имеет полезную информацию [Configure The Search Search Location] (http://theshravan.net/blog/configure-the-views-search-locations-in-asp-net-mvc/). – CrnaStena

Смежные вопросы