0

私は MvcContrib Portable Areas を使用しています。すべて問題ありませんが、MvcContrib Grid を使用することにしました。私のソリューションのすべてのプロジェクトを参照する MvcContrib.dll と MvcContrib.FluentHtml.dll があります。問題は、ビューが参照されているにもかかわらず、MvcContrib が表示されないことです。

@using MvcContrib の結果は、「型または名前空間 MvcContrib が見つかりませんでした」です。ルート (親) プロジェクトでは、すべて問題ありません。

.NET 4.0 と MVC 3.0 を使用しています

ポータブル エリアの Views フォルダーから Web.config を参照します。

<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>

<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="MvcContrib"/>
    <add namespace="MvcContrib.UI"/>
    <add namespace="MvcContrib.UI.Html"/>
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Routing" />
    <add namespace="System.Globalization" />
    <add namespace="Microsoft.Web.Mvc"/>
  </namespaces>
</pages>
</system.web.webPages.razor>

<appSettings>
  <add key="webpages:Enabled" value="false" />
</appSettings>

<system.web>
<httpHandlers>
  <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>
<compilation debug="true" targetFramework="4.0">
  <assemblies>
    <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

  </assemblies>
</compilation>

</system.web>

<system.webServer>
<validation validateIntegratedModeConfiguration="false" />

<handlers>
  <remove name="BlockViewHandler"/>
  <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
</configuration>
4

1 に答える 1

2

同じ問題が発生し、MVC Contrib参照をルートモジュールとエリアモジュールに追加して修正しました!

web.configまた、このサードパーティコンポーネントを使用した場合は、ビューに次のコードを追加する必要がある場合があります。

<system.web.webPages.razor>
<host factoryType="..." />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
     <namespaces>
     <add namespace="MvcContrib"/>
     <add namespace="MvcContrib.UI.Grid"/>
     <add...

これがお役に立てば幸いです

于 2012-12-02T15:53:12.510 に答える