Asp.net-Mvc-3

System.Web.Mvc.HtmlHelper<dynamic> 不包含“Syncfusion”錯誤的定義

  • September 24, 2021

我正在使用帶有 Razor 引擎的 ASP.Net MVC 3 和 SyncFusion mvc 控制套件的 9.104.0.20 版本。

在此控制項的文件中,我將在我的母版頁中放置類似於以下內容的程式碼行:

@Html.Syncfusion().ScriptManager()

根據 Syncfusion 文件和這個 Stack Overflow 建議,我確保將命名空間添加到我的 web.config 文件中的元素下。

  &lt;add namespace="Syncfusion.Mvc.Schedule"/&gt;

解決方案已建構,但執行時出現以下錯誤:

“System.Web.Mvc.HtmlHelper”不包含“Syncfusion”的定義,並且找不到接受“System.Web.Mvc.HtmlHelper”類型的第一個參數的擴展方法“Syncfusion”(您是否缺少 using 指令還是彙編參考?)

我認為這個問題與 Syncfusion 無關,而是與我無法正確引用它們的程序集有關。

我該如何解決這個問題?

通過在元素中添加命名空間引用解決了該問題。

我必須在 web.config 的頂部添加以下 configSection 資訊:

&lt;configSections&gt;
   &lt;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"&gt;
     &lt;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" /&gt;
     &lt;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" /&gt;
   &lt;/sectionGroup&gt;
 &lt;/configSections&gt;

然後我必須在該定義部分中添加 SyncFusion 命名空間:

&lt;system.web.webPages.razor&gt;
   &lt;host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /&gt;
   &lt;pages pageBaseType="System.Web.Mvc.WebViewPage"&gt;
     &lt;namespaces&gt;
       &lt;add namespace="System.Web.Mvc" /&gt;
       &lt;add namespace="System.Web.Mvc.Ajax" /&gt;
       &lt;add namespace="System.Web.Mvc.Html" /&gt;
       &lt;add namespace="System.Web.Routing" /&gt;
       &lt;add namespace="System.Collections" /&gt;
       &lt;add namespace="Syncfusion.Mvc.Shared"/&gt;
       &lt;add namespace="Syncfusion.Mvc.Schedule"/&gt;
       &lt;add namespace="Syncfusion.Mvc.Tools"/&gt;
     &lt;/namespaces&gt;
   &lt;/pages&gt;
 &lt;/system.web.webPages.razor&gt;

引用自:https://stackoverflow.com/questions/4910150