2011-01-29 53 views
2

當我嘗試生成基於我的mvc項目之外的模型(在業務層項目中)的強類型視圖時,我無法爲視圖生成代碼。因此,例如我的詳細信息頁面不會自動生成表格以顯示傳遞給它的模型的詳細信息。當模型直接在我的MVC項目中時,情況並非如此。是否有可能有一個n層應用程序,仍然可以獲得強類型視圖的代碼生成?Asp.net MVC 3代碼生成失敗,並與N層應用程序

編輯:答案 -

爲您的業務層的命名空間中添加一行到的意見,在web.config文件夾,像這樣

<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

嘗試定製的ViewModels或進口的命名空間到頁面:

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

它也像you may need to add the assembly information向被位於您Views文件夾中的web.config

+0

我很困惑你的話將如何幫助代碼生成。我指的是創建一個新的視圖>選擇強類型視圖>爲業務層項目中的視圖選擇一個模型。創建時,不會自動生成asp標籤以將模型信息拖出到表格中。這是mvc imho最大的好處之一。所以如果沒有,你應該如何有效地構建一個n層應用程序? – 2011-01-29 19:59:00