Я понимаю многие преимущества соглашения по сравнению с конфигурационным подходом ASP MVC. Тем не менее, я хотел бы попытаться создать сайт на основе ASP MVC, используя подход, основанный на конфигурации, и с атрибутами маршрута.
По сути, я хотел бы, чтобы все мои контроллеры находились в корне проекта (не вложены ниже папки «Контроллеры»), а представления рядом с ним (не вложены ниже папки представлений).
например в корневой папке что-то вроде:
Posts.cs (контроллер) — будет иметь методы, которые будут сопоставляться с маршрутами через атрибуты.
Posts.cshtml (просмотр)
Я искал и удивительно нашел очень мало по теме.
Например, у меня есть следующий контроллер в моем корневом каталоге (more.cs)
public class More : Controller
{
[Route("more")]
public ActionResult Index()
{
return View("~/more.cshtml");
}
}
И я вызываю это в RouteConfig.cs
routes.MapMvcAttributeRoutes();
Но генерирует ресурс не может быть найден ошибка
Опять же - я не ищу, ПОЧЕМУ я не хотел бы этого делать... я понимаю преимущества соглашения... но КАК я мог бы это сделать, если бы захотел (правильно или неправильно).
ViewEngine
для поиска местоположений файлов. - person   schedule 02.04.2015