Razor ビュー エンジン内でイメージ タグを作成するための新しい html ヘルパー メソッドを作成しました。
public static MvcHtmlString Image(this HtmlHelper helper, string fileName, string altText,
string cssClass = null, string id = null, string style = null)
{
var server = HttpContext.Current.Server;
string location = server.MapPath("~/Content/Images/" + fileName);
var builder = new TagBuilder("img");
builder.Attributes["src"] = location;
builder.Attributes["alt"] = altText;
if (!string.IsNullOrEmpty(cssClass)) builder.Attributes["class"] = cssClass;
if (!string.IsNullOrEmpty(id)) builder.Attributes["id"] = id;
if (!string.IsNullOrEmpty(style)) builder.Attributes["style"] = style;
string tag = builder.ToString(TagRenderMode.SelfClosing);
return new MvcHtmlString(tag);
}
メソッドはおそらく機能していると思いますが、呼び出しに問題があります。私の見解では、次のように考えています。
@Html.Image("getstarted-promo.jpg", "Get Started", style = "width: 445; height: 257;")
ビューが読み込まれると、次のコンパイラ エラーが発生します。
CS0103: 名前 'style' は現在のコンテキストに存在しません
かみそりビュー内でオプションのパラメーターを使用するための正しい構文は何ですか?