Можете ли вы сделать динамически типизированное расширение HtmlHelper в Asp.Net MVC 3? - PullRequest
0 голосов
/ 19 марта 2011

Я пытаюсь создать динамически типизированное расширение HtmlHelper, но получаю сообщение об ошибке.Например, если я попробую это:

public static string DropDownWithAdder<T>(this HtmlHelper helper)
{
    return "Test Worked";
}

И это в представлении:

@Html.DropDownWithAdder<Code>()

Я получу ошибку

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

Но если я просто удалю , все будет работать отлично.Мой вопрос: можете ли вы использовать общую типизацию в методе расширения Html?

1 Ответ

5 голосов
/ 19 марта 2011

Метод расширения должен принять вспомогательный объект Html в качестве первого параметра

public static string DropDownWithAdder<T>(this HtmlHelper helper)
{
    return "Test Worked";
}

Edit:

Вам также необходимо заключить вызов в скобки, чтобы Razor не интерпретировал <как начало HTML-тега: </p>

@(Html.DropDownWithAdder())

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...