2009-04-28 3 views
34

по умолчанию движок ASP.NET MVC поиск следующие папки для просмотра страниц:ASP.NET MVC Как указать, в какой папке находятся страницы просмотра?

  • /Просмотров/{Controller_Name} /{Action}.aspx
  • /Views/Shared /{Действие } .aspx

Однако я хочу, чтобы поставить некоторые из моих Просмотр страниц, как это:

  • /Views/{пространство имен}/{} Controller_Name /{Action}.aspx

Как я могу позволить внешний вид двигателя для этого?

+0

извините за откат, но это действительно необходимо, чтобы показать, как это: -) – Ropstah

+0

Я исправил категорию слишком жаль. –

ответ

7

Вы должны создать класс, производный от интерфейса IViewEngine и зарегистрировать этот класс в Aplication_Start случае в Global.asax.cs Проверьте это link text, но есть некоторые отличия от 1,0

+0

Это совсем немного, я собираюсь пропустить это сегодня вечером ;-). Thx для информации до сих пор .. – Ropstah

+2

На самом деле, я немного ее прочитал, и я заметил класс VirtualPathProviderViewEngine. Это то, что я искал. Спасибо! – Ropstah

59

Вы можете вернуть вид, помещенные в пользовательских подпапках, от действия контроллера, выдавая полный путь просмотра в возвратной инструкции,

ex.

public ActionResult Create() 
{ 
    return View("~/Views/ProEnhance/Employee/Create.cshtml"); 
} 

здесь,

ProEnhance - задаваемый пользователем папки

Сотрудник - имя контроллера

Create - название действия

+1

можно сделать что-то вроде этого? 'View.defaultLocation = "(" ~/Views/ProEnhance/"); общественного ActionResult Create() { возвращение View(); } ' – Muflix

+1

Любой разработчик, который мог бы ответить @Muflix? Вопрос s, Вышеуказанный ответ (ответ Офигена) не отвечает на вопрос правильно. Я все еще ищу этот вопрос. –