System.Web.Mvc.HtmlHelper <dynamic>不包含'Syncfusion'错误的定义</dynamic>

时间:2011-02-05 22:36:54

标签: asp.net-mvc-3 razor

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

在此控件的文档中,我将在我的母版页中添加类似下面的代码行:

@Html.Syncfusion().ScriptManager()

根据Syncfusion文档和this Stack Overflow suggestion,我确保将名称空间添加到元素下的web.config文件中。

   <add namespace="Syncfusion.Mvc.Schedule"/>

解决方案构建但运行时出现以下错误:

  

'System.Web.Mvc.HtmlHelper'不包含'Syncfusion'的定义,并且没有扩展方法'Syncfusion'接受类型'System.Web.Mvc.HtmlHelper'的第一个参数可以找到(你错过了吗?) using指令或程序集引用?)

我不认为这个问题与Syncfusion有关,而是因为我无法正确引用它们的程序集。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:18)

通过在元素中添加命名空间引用来解决该问题。

我必须在web.config的顶部添加以下configSection信息:

<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>

然后我必须在该定义的部分中添加SyncFusion名称空间:

<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="System.Collections" />
        <add namespace="Syncfusion.Mvc.Shared"/>
        <add namespace="Syncfusion.Mvc.Schedule"/>
        <add namespace="Syncfusion.Mvc.Tools"/>
      </namespaces>
    </pages>
  </system.web.webPages.razor>

答案 1 :(得分:0)

对我来说,我不得不关闭 Visual Studio 并在实现 @YeahStu 的答案后重新打开。