asp.net-mvc, где я могу разместить свой собственный код - PullRequest
4 голосов
/ 20 июля 2009

есть ли какой-то конкретный каталог, в который я должен поместить свой код в проект asp.net mvc

У меня есть некоторые расширения класса HtmlHelper. Прямо сейчас у меня это сидит в папке содержимого. это правильно? есть ли лучший раствор?

Ответы [ 4 ]

14 голосов
/ 20 июля 2009

Я обычно создаю отдельный проект (или проекты) для своего собственного кода, включая уровень данных, в качестве библиотек классов. Затем я ссылаюсь на библиотеки на своем веб-сайте MVC.

4 голосов
/ 20 июля 2009

вы можете разместить код где угодно, но обычно вы хотите, чтобы все было организовано. вот как я это делаю:

2 сборки

  • MyProject.Domain

содержит весь код моего домена; бизнес логика и сущности

  • MyProject.Web

содержит код контроллера, представления и ресурсы, такие как css / images

Ваши HtmlHelpers принадлежат проекту .Web, поскольку они связаны с mvc (ничего общего с доменом) Возможно, вам нужна новая папка под названием «Помощники» или «Расширения». Это действительно ваше дело, ключевой момент заключается в том, чтобы решить, где что-то принадлежит и соответствующим образом распределить пространство имен

2 голосов
/ 20 июля 2009

Я согласен с тем, что сказали все остальные, вот как будет выглядеть одно из моих решений:

  1. 1- MyProject.WebUI
  2. 2- MyProject.DomainModel
  3. 3- MyProject.Test
  4. 4- MyProject.Extensions

Этот проект расширений является новым для меня (на самом деле, так как я знал о методах расширения). Обычно в нем заканчиваются подпапки, описывающие, для каких методов расширения используются, для вашего конкретного случая имя папки будет HtmlHelpers . Затем я ссылаюсь на этот проект (или его выходную библиотеку при использовании в другом месте).
HTH

1 голос
/ 20 июля 2009

Если вы собираетесь повторно использовать одни и те же расширения HTMLHelper в разных проектах ASP.NET MVC, я бы предложил поместить их в библиотеку классов, которая полностью отделена от вашего проекта.

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