Пользовательский помощник HTML не работает. Нашел решение, но точно не знаю, как и почему оно работает - PullRequest
0 голосов
/ 31 июля 2011

Я написал собственный HTML-помощник, и он использовал @Html.ActionLink, который, очевидно, не будет работать, потому что код находится в App_Code. Тогда я сослался на эту ссылку

Использование расширений MVC HtmlHelper из декларативных представлений Razor

и изменил мой помощник на это:

@inherits MVCWebApp.Helpers.CustomHelperPage
@using System.Web.Mvc.Html
@using System.Web.Mvc
@helper GetPager(string action, string controller, int NoOfPagesToGenerate)
    {
   //implementation
}

и это CustomPageHelper:

using System.Web.WebPages;
using System.Web.Mvc;

namespace MVCWebApp.Helpers
{
    public class CustomHelperPage : System.Web.WebPages.HelperPage
    {
        public static new HtmlHelper<object> Html
        {
            get { return ((System.Web.Mvc.WebViewPage)WebPageContext.Current.Page).Html; }
        }
    }
}

Кто-нибудь может сказать мне, что делает приведенный выше код и как он работает?

1 Ответ

0 голосов
/ 12 августа 2011

Помогает ли это?

HtmlHelper _html = new HtmlHelper(
    new ViewContext(ControllerContext
        , new WebFormView(ControllerContext, "dummy")
        , new ViewDataDictionary()
        , new TempDataDictionary()
        , writer)
    , new ViewPage());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...