MVC Razor RenderPartial Call не работает на веб-сайте - PullRequest
0 голосов
/ 06 июля 2011

Я пытаюсь включить в свой веб-сайт некоторый повторно используемый код (не веб-приложение) с помощью вызова RenderPartial @ Html.RenderPartial ("SomePage.cshtml").В asp я просто смог использовать #include virtual = "somefile.asp".Тем не менее, я получаю следующее сообщение об ошибке.

Сообщение об ошибке компилятора: CS1061: «System.Web.WebPages.Html.HtmlHelper» не содержит определения для «RenderPartial» и нет метода расширения «RenderPartial»'Принятие первого аргумента типа' System.Web.WebPages.Html.HtmlHelper 'может быть найдено (вам не хватает директивы using или ссылки на сборку?)

У меня есть все соответствующие ссылкив моем файле 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>

Доступен ли RenderPartial только в «Веб-приложениях», а не в «Веб-сайтах»?
Существует ли лучший способ повторного использования кода на сайте?
@RenderSection не работает в моемситуация, так как используемый мной макет не использует код в том же месте.

Ответы [ 2 ]

3 голосов
/ 07 июля 2011

Мне удалось добиться того, чего я хотел, используя @RenderPage («SomePage.html»).Только 2 дня понадобилось, чтобы найти ответ:)

1 голос
/ 07 июля 2011

Вы пытались добавить <add namespace="System.Web.WebPages"/> в разделе пространства имен?

...