Как я могу использовать Url.Content внутри @helper? - PullRequest
3 голосов
/ 14 мая 2011

Я делаю некоторые @ помощники внутри папки App_Code. Намерение состоит в том, чтобы полностью заменить мой старый HtmlHelpers, написанный в файле * .cs, строителем строк и всеми другими забавными вещами.

Во всяком случае, в нескольких местах я использую Url.Content в атрибутах src тегов <img>. Раньше они нормально работали как HtmlHelpers Теперь, когда я получил свой код в файле * .cshtml в папке App_Code, сайт не хочет компилироваться:

CS0103: имя 'Url' не существует в текущем контексте

Какой хороший способ решить это? Я не хотел бы иметь относительный путь вместо отображения пути.

1 Ответ

3 голосов
/ 14 мая 2011

Вы можете передать его в качестве аргумента помощнику:

@helper Foo(UrlHelper url) {
    @url.Action("~/foo");
}

, а затем:

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