Razor Views で見つけたものをすべて調べましたが、この UrlHelper の使用法を WebForms から Razor に変換する方法については何も見つかりませんでした。
.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。アカウント写真| と:
'System.Web.Mvc.UrlHelper' には 'AccountPicture' の定義が含まれておらず、タイプ 'System.Web.Mvc.Helper' の最初の引数を受け入れる拡張メソッド 'AccountPicture' が見つかりませんでした (using ディレクティブがありませんか?またはアセンブリ参照?)
実行時に次のエラーが発生します。
'System.Web.Mvc.UrlHelper' には 'AccountPicture' の定義が含まれておらず、タイプ 'System.Web.Mvc.UrlHelper' の最初の引数を受け入れる拡張メソッド 'AccountPicture' が見つかりませんでした (using ディレクティブがありませんか?またはアセンブリ参照?)
名前空間 ShadowVenue.Extensions が web.config に登録されています
助けてください、ありがとう!