對不起,我的英語不是母語。如何從未引用dll的視圖中導入模型類
我正在寫入一個大型醫療系統的網絡訪問。
使用ASP.NET MVC 4.它碰巧模型和控制器在其他DLL,什麼加載時,Web應用程序啓動。控制器在Unity容器中註冊,並且一切正常。
但在視圖無法直接使用模型類。 Razor視圖引擎找不到它們的名稱空間。
如何解決?如何使用ViewEngine命名空間庫加載到內存中,但其中沒有引用mvc-project?
非常感謝您的建議。
對不起,我的英語不是母語。如何從未引用dll的視圖中導入模型類
我正在寫入一個大型醫療系統的網絡訪問。
使用ASP.NET MVC 4.它碰巧模型和控制器在其他DLL,什麼加載時,Web應用程序啓動。控制器在Unity容器中註冊,並且一切正常。
但在視圖無法直接使用模型類。 Razor視圖引擎找不到它們的名稱空間。
如何解決?如何使用ViewEngine命名空間庫加載到內存中,但其中沒有引用mvc-project?
非常感謝您的建議。
有兩種方法可以將名稱空間添加到ASP.NET MVC中的Razor視圖中。
方法1
第一種方式是使用.cshtml文件@using聲明,其中進口一個命名空間只能作用於當前文件。
例子: -
@using Namespace1
@using Namespace2.SomeClass
方法2
和第二種方法是在你的項目的查看目錄的web.config中定義這些命名空間。
例子: -
<system.web.webPages.razor>
<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" />
.
<!-- can more more here... -->
</namespaces>
</pages>
,或者你可以像這樣添加自定義命名空間太:
<add namespace="Custom.Yasser" />
<add namespace="Custom.Mohsin" />
感謝您的回答,但這是行不通的,因爲我的名字空間在庫中,沒有在mvc-project中引用。在瞬間視圖解釋顯示錯誤。 –
請參閱http://stackoverflow.com/questions/4953330/razor-based-view-doesnt-see-referenced-assemblies您可以在新配置部分配置View的名稱空間。另外http://forums.asp.net/t/1779588.aspx/1可能會有所幫助。 –