Сбой генерации кода Asp.net MVC 3 с n-уровневым приложением - PullRequest
2 голосов
/ 29 января 2011

Когда я пытаюсь сгенерировать строго типизированные представления на основе моделей вне моего проекта MVC (в проекте бизнес-уровня), я не получаю генерацию кода для представления. Так, например, моя страница сведений не генерирует таблицу автоматически, чтобы отобразить детали переданной ей модели. Это не тот случай, когда модели находятся прямо внутри моего проекта MVC. Можно ли иметь n-уровневое приложение и при этом получать генерацию кода для строго типизированных представлений?

РЕДАКТИРОВАТЬ: Ответ-

Добавьте строку для вашего пространства имен бизнес-уровня в web.config папки views следующим образом:

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
     <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="<My business layer namespace>" />
     </namespaces>
    </pages>
  </system.web.webPages.razor> 

Тогда генерация кода будет работать при создании строго типизированного представления.

1 Ответ

1 голос
/ 29 января 2011

Попробуйте пользовательские ViewModels или импортируйте пространство имен на страницу:

<%@ Import Namespace="Your.Namespace.Here" %>

Это также выглядит как , возможно, вам потребуется добавить информацию о сборке в web.config, который находится в вашей папке Views.

...