Структура файла ASP.Net MVC View и Controller - PullRequest
0 голосов
/ 30 марта 2010

Я очень растерялся, вид и соответствующий контроллер должны быть установлены в структуре проекта MVC 1.0. В настоящее время в приложении по умолчанию у нас есть страница About.aspx в папке Home, и все действия контроллера обрабатываются в HomeController. Этот контроллер смешивает Home action и About action. Это делает вещи грязными. Мне нравится иметь четкое разделение моего контроллера. Хотелось бы иметь один О контроллере и HomeCotroller отдельно. Для этого я создаю другую папку «About» под папкой view и помещаю в нее Aboput.aspx, иначе мы получим ошибку ниже. Как я могу этого достичь ?? Мне нравится иметь точную структуру папок, как в View, так же, как в Cotroller.

The view 'About' or its master could not be found. The following locations were searched:
~/Views/About/About.aspx
~/Views/About/About.ascx
~/Views/Shared/About.aspx
~/Views/Shared/About.ascx 

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.InvalidOperationException: The view 'About' or its master could not be found. The following locations were searched:
~/Views/About/About.aspx
~/Views/About/About.ascx
~/Views/Shared/About.aspx
~/Views/Shared/About.ascx

Мне нравятся папки типа \ iew \ About.aspx и Cotroller \ AboutController.cs или \ View \ Info \ About.aspx и \ Controller \ Info \ AboutController.cs.

Это сделает мой проект и код очень аккуратным и хорошим для поддержки. Заранее спасибо за помощь

Ответы [ 2 ]

2 голосов
/ 30 марта 2010

Я думаю, они бы хотели, чтобы у вас было

Views / О / index.aspx

which / Views / AboutController Index () будет указывать на

Пример маршрутизации:

в Global.asax:

protected void Application_Start()
{
    MyRoutes.RegisterRoutes(RouteTable.Routes);         
}

затем в классе MyRoutes:

public class MyRoutes
{
     internal static void RegisterRoutes(RouteCollection routes)
     {
         // add routes
     }
}
1 голос
/ 30 марта 2010

Вам, вероятно, следует взглянуть на основные учебные пособия для среды ASP.Net MVC. Он работает по нескольким соглашениям, и одним из самых важных соглашений является именование файлов и структура папок.

Хотя структура, которая вам нравится, может подходить для простых проектов или для ваших личных предпочтений, она не идеальна для больших проектов. Вам нужно либо следовать соглашению, либо узнать достаточно о структуре, чтобы можно было изменить ее поведение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...