Я просмотрел все, что смог найти в Razor Views, но ничего не нашел о том, как преобразовать использование UrlHelper в Razor из WebForms.
Пример кода .ASPX:
<img src="<%= Url.AccountPicture(Model.Picture, "bigger") %>" alt="<%= Html.AttributeEncode(Model.FullName) %>" width="73" height="73" />
Как я преобразовал его в RAZOR:
<img src="@Url.AccountPicture(Model.Picture, "bigger")" alt="@Html.AttributeEncode(Model.FullName)" width="73" height="73" />
Прилагаемый файл UrlHelperExtensions.cs:
namespace ShadowVenue.Extensions
{
public static class UrlHelperExtensions
{
public static string AccountPicture(this UrlHelper helper, string name, string size)
{
if (string.IsNullOrEmpty(name))
name = "default";
return helper.Content(string.Format("~/content/images/pictures/{0}_{1}.png", name, size));
}
}
}
Ошибка, которую Visual Studio выделяет |@Url.AccountPicture| с:
«System.Web.Mvc.UrlHelper» не содержит определения для «AccountPicture», и не удалось найти метод расширения «AccountPicture», принимающий первый аргумент типа «System.Web.Mvc.Helper» (вы пропустили директива using или ссылка на сборку?)
Эта ошибка возникает во время выполнения:
«System.Web.Mvc.UrlHelper» не содержит определения для «AccountPicture», и не удалось найти метод расширения «AccountPicture», принимающий первый аргумент типа «System.Web.Mvc.UrlHelper» (вы пропустили? директива using или ссылка на сборку?)
У меня есть пространство имен ShadowVenue.Extensions, зарегистрированное в файле web.config.
Пожалуйста, помогите, спасибо!