Соглашения ASP.NET MVC - PullRequest
       7

Соглашения ASP.NET MVC

3 голосов
/ 23 февраля 2010

ASP.NET MVC в значительной степени основан на соглашениях, как говорится, "соглашение поверх конфигурации". Таким образом, это означает, что есть большое значение для того, что имя вещи даны и где в структуре проекта они созданы.

Будучи новичком в ASP.NET MVC, я ценю мощь и простоту этого подхода, но мне немного сложно запоминать, какие соглашения действуют. Например, при использовании метода контроллера UpdateModel , который опирается на поля формы HTML, имена которых совпадают со свойствами класса модели. Это очевидная вещь, и большую часть времени это, вероятно, то, что большинство людей будет делать инстинктивно, но я вижу, что было бы очень запутанно, если бы кто-то переименовал что-то в одном месте и забыл переименовать это в другом. Связь несколько «хрупкая».

Итак, я подумал, что было бы полезно иметь список всех соглашений ASP.NET MVC здесь в одном месте, в качестве краткого изложения наилучшей практики. такие вещи, как:

«Поля формы HTML должны иметь то же имя, что и свойства модели».

У кого-нибудь есть что-нибудь подобное? Ты поможешь мне составить список здесь?

Ответы [ 4 ]

2 голосов
/ 24 февраля 2010

Используйте виртуальный путь от сервера развертывания и введите его в конфигурацию проекта в Visual Studio. Таким образом, сервер разработки Visual Studio будет использовать ту же структуру пути, что и сервер развертывания. Это сэкономит вам бесчисленные часы работы при развертывании.

1 голос
/ 23 февраля 2010

Контроллеры и имена действий, указанные в маршрутах, должны иметь соответствующие классы и методы действий, названные именно таким образом (плюс суффикс -Controller для контроллеров). Вы можете переопределить это поведение, используя атрибуты [ControllerName] и [ActionName].

1 голос
/ 23 февраля 2010

Обратите внимание, что соглашение о конфигурации не требуется, но это то, как все работает "из коробки". Если вы находите соглашение смущающим или бесполезным, вы можете изменить его (например, как выбирать контроллеры, как расположены представления и т. Д.) Или выполнить настройку.

1 голос
/ 23 февраля 2010

Контроллеры всегда должны заканчиваться суффиксом Controller .

...