2011-07-06 2 views
0

J'essaie d'inclure du code réutilisable sur mon site Web (pas une application Web) via l'appel RenderPartial @ Html.RenderPartial ("SomePage.cshtml"). Dans asp, j'étais juste capable d'utiliser #include virtual = "somefile.asp". Toutefois, le message d'erreur suivant s'affiche.MVC Razor RenderPartial appel ne fonctionne pas dans le site Web

compilateur Message d'erreur: CS1061: 'System.Web.WebPages.Html.HtmlHelper' ne contient pas une définition pour 'RenderPartial' et aucune méthode prolongation 'RenderPartial' accepter un premier argument de type « System.Web.WebPages.Html.HtmlHelper » se trouve (vous manque une en utilisant la directive ou une référence assemblée ?)

j'inclure toutes les références appropriées dans mon fichier web.config.

<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>  
    <pages> 
     <namespaces> 
      <add namespace="System.Web.Mvc"/> 
      <add namespace="System.Web.Mvc.Html"/> 
      <add namespace="System.Web.Routing"/> 
      <add namespace="System.Collections.Generic"/> 
     </namespaces> 
    </pages> 

Est-ce le RenderPartial uniquement disponible dans "Applications Web" et non "Sites"?
Existe-t-il un meilleur moyen de réutiliser le code sur l'ensemble du site?
@RenderSection ne fonctionne pas dans ma situation car la mise en page que j'utilise ne réutilise pas le code au même endroit.

+0

Est-ce 'Web.config' celui qui se trouve dans le répertoire' Views'? – Buildstarted

+0

Notez que MVC ne prend officiellement en charge que le modèle de projet Application Web. – marcind

Répondre

0

Avez-vous essayé d'ajouter <add namespace="System.Web.WebPages"/> sous la section de l'espace de noms?

3

J'ai été capable de réaliser ce que je voulais en utilisant @RenderPage ("SomePage.html"). Il n'a fallu que 2 jours pour trouver la réponse :)

Questions connexes