2009-05-18 14 views
7

estoy usando la versión de lanzamiento de ASP.net MVC y me parece que esté recibiendo este error muchoHTML Extensiones Helper no se encontró

'System.Web.Mvc.HtmlHelper' does not contain a definition for 'RenderPartial' and no extension method 'RenderPartial' accepting a first argument of type 'System.Web.Mvc.HtmlHelper' could be found (are you missing a using directive or an assembly reference?) 

que es muy extraño, ya que puedo navegar a System.Web .Mvc.HtmlHelper y todos los métodos de extensión están ahí. Aún más extraño es que puedo compilar y todos los errores desaparecen, sin embargo, tan pronto como empiezo a editar de nuevo, vuelven a aparecer. Estoy incluyendo

<%@ Import Namespace="System.Web.Mvc" %> 
<%@ Import Namespace="System.Web.Mvc.Html" %> 

en mi archivo Site.Master que encontré sugirió alguna parte, pero eso no parece ayudar. ¿Algunas ideas? La intelisense tampoco encuentra los métodos de extensión.

Respuesta

0

¿Utiliza

<% Html.RenderPartial("~/Views/Project/Projects.ascx", ViewData); %>

o

<%=Html.RenderPartial("~/Views/Project/Projects.ascx", ViewData); %>

?

se supone que es el primero, sin "=". No estoy seguro si eso lo resolverá pero recuerdo que cambiaron algo de esa manera.

+0

Es sólo el Site.Master estándar que viene con un nuevo proyecto <% Html.RenderPartial ("LogOnUserControl"); %> – stimms

4

En primer lugar, comprobar si está utilizando el método renderPartial derecha:

<% Html.RenderPartial(...); %> 

En segundo lugar, comprobar su web.config contiene:

<system.web> 
    <compilation> 
     <assemblies> 
      <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     </assemblies> 
    </compilation> 
    <pages> 
     <namespaces> 
      <add namespace="System.Web.Mvc.Html" /> 
     </namespaces> 
    </pages> 
</system.web> 
+0

sí, todo se ve bien. – stimms

0

Véase también: 'System.Web.Mvc.HtmlHelper' does not contain a definition for 'RenderPartial' - ASP.Net MVC

Usted puede pensar que esto es tonto, pero tuve el mismo problema. Tenía una aplicación MVC en funcionamiento, ejecutando 1.0.0.0 y de repente dejó de funcionar dándome el mismo RenderPartial no está en la definición. Bueno, resultó que mientras me estaba volviendo loco limpiando mi web.config, eliminé esta sección. Cuando lo re-agregué, todo funcionó de nuevo. Estoy seguro de que esto tiene algo que ver con la carga de las extensiones de clase durante el tiempo de ejecución.

De todos modos, volver a agregar esto a mi web.config trabajó en mi máquina. ;)

<system.codedom> 
    <compilers> 
     <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" 
        type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <providerOption name="CompilerVersion" value="v3.5"/> 
      <providerOption name="WarnAsError" value="false"/> 
     </compiler> 

     <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" 
        type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <providerOption name="CompilerVersion" value="v3.5"/> 
      <providerOption name="OptionInfer" value="true"/> 
      <providerOption name="WarnAsError" value="false"/> 
     </compiler> 
    </compilers> 
</system.codedom> 
Cuestiones relacionadas