2013-03-15 4 views
1

Я только что написал вспомогательный метод MVC для записи тегов img для меня, в методе, который я жестко кодирую, изображение nopic, которое должно использоваться, когда путь изображения не передается in. I не как hardcoding, но не знаю, какой лучший подход я мог бы использовать (учитывая это MVC, и это помощник), чтобы достичь этого.Является жестким кодированием невыполненного nopic-изображения в моем неправильном дизайне MvcHelperExtension.

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)); 
} 
+3

Вы можете хранить в файле web.config – Tommy

ответ

1

я вещь жесткое кодирование в программировании плохо думать, потому что обслуживание так сильно вы можете добавить ключ в web config и получить его легко и при необходимости тоже изменить его, вы можете изменить его легко без публиковать снова в веб-конфигурации:

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

в C# код:

var path= WebConfigurationManager.AppSettings["ImagePath"].ToString()