0

imgタグを書き込むための MVC ヘルパー メソッドを作成しました。このメソッドではnopic、画像パスが渡されない場合に使用する必要がある画像をハードコーディングしています。ハードコーディングは好きではありませんがそれを達成するために私が使用できる最良のアプローチ(これがMVCであり、これがヘルパーであることを考えると)は.

public static MvcHtmlString Image(this HtmlHelper htmlHelper, 
                                  string imgName, string alt, int height)
{
    if (string.IsNullOrWhiteSpace(imgName)) imgName = "nopic.jpg";
    var src = String.Format("/Content/ProductImages/{0}", imgName);

    var tagBuilder = new TagBuilder("img");
    tagBuilder.Attributes.Add("src", htmlHelper.Encode(src));
    tagBuilder.Attributes.Add("alt", htmlHelper.Encode(alt));
    tagBuilder.Attributes.Add("height", htmlHelper.Encode(height));

    return MvcHtmlString.Create(tagBuilder.ToString(TagRenderMode.SelfClosing));
}
4

1 に答える 1

1

プログラミングのハードコーディングは悪いと思います。メンテナンスが非常に難しいため、Web構成にキーを追加して簡単にすることができ、変更が必要な場合は、再度公開せずに簡単に変更できます。Web構成で:

<add key="ImagePath" value="/Content/ProductImages/"/>

C# コードの場合:

var path= WebConfigurationManager.AppSettings["ImagePath"].ToString()
于 2013-03-15T14:41:41.573 に答える