Если я не ошибаюсь - соглашения ASP.NET MVC, кажется, хотят, чтобы я сделал следующее для представления контроллера.
Сегодня я создаю каталог «Продукты», в который помещаю свое представление «Индекс». Затем я создаю «ProductsController» и создаю для него метод «Index», который возвращает представление. Возврат только View () без аргументов приведет к извлечению страницы «Index.aspx», поскольку она имеет то же имя, что и метод.
public class ProductsController : Controller
{
public ActionResult Index()
{
return View(); // looks for Index.aspx in Products directory
}
}
Теперь это просто отлично. НО я получу миллиард страниц Index.aspx, и я один из тех, кто никогда не закрывает файлы, поэтому я сойду с ума.
В качестве альтернативы я могу создать Products / Products.aspx и изменить свой контроллер на следующее:
public class ProductsController : Controller
{
public ActionResult Index() // my default routing goes to Index (from sample project)
{
return View("Products");
}
}
Я понимаю, как это работает, и что это вполне нормально в схеме проектирования MVC, чтобы сделать это. Это не хак или что-то в этом роде.
Моя проблема (после прослушивания этого видео PDC) заключается в том, что в MVC предпочтительнее соглашение о настраиваемости (или любой другой правильной фразе).
Так что мне интересно, если я пропускаю третий способ, или люди просто в порядке с 50 вкладками индекса в Visual Studio?