2011-02-05 15 views
8

Sto lavorando con ASP.Net MVC 3 con il motore Razor e la versione 9.104.0.20 della suite di controllo SyncFusion mvc.System.Web.Mvc.HtmlHelper <dynamic> non contiene una definizione per errore 'Syncfusion'

Nella documentazione per questo controllo, sono di mettere righe di codice simile a quello seguito nella mia pagina master:

@Html.Syncfusion().ScriptManager() 

Per la documentazione Syncfusion e this Stack Overflow suggestion, ho fatto in modo di aggiungere gli spazi dei nomi per il mio file web.config sotto l'elemento.

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

La soluzione si basa ma ottengo il seguente errore quando l'eseguo:

'System.Web.Mvc.HtmlHelper' non contiene una definizione per 'Syncfusion' e nessun metodo di estensione ' Syncfusion' accettare un primo argomento di tipo 'System.Web.Mvc.HtmlHelper' stato trovato (che le manca un un riferimento all'assembly direttiva using o?)

non credo che questo problema ha a che fare con Synffusion ma invece con la mia incapacità di fare riferimento al loro assemblaggio Ies correttamente.

Come si indirizza questo?

risposta

18

Il problema è stato risolto aggiungendo il riferimento allo spazio dei nomi nell'elemento.

ho dovuto aggiungere le seguenti informazioni configSection nella parte superiore del web.config:

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

E poi ho dovuto aggiungere gli spazi dei nomi Syncfusion all'interno di quella sezione definita:

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

Grande risposta ! Mi sono imbattuto in più sull'argomento e più mi manca l'aggiunta del riferimento nelle configSections –

+0

Grazie. È strano che molte persone abbiano ancora questo problema. – YeahStu

+0

Vorrei raccomandare di rimuovere le informazioni sulla versione da digitare in config. Basta usare "type, assembly" e continuerà a funzionare. Ciò rimuove la manutenzione durante l'aggiornamento di mvc2,3,4,5, rasoio, entlib, - e il redirect assemblybinding fa il resto. Ho dovuto applicare questa correzione a root, aree, viste file web.config e tutte le mie pagine iniziarono a funzionare alacremente. Grazie –

Problemi correlati