0

我刚刚编写了一个 MVC 辅助方法来img为我编写标签,在该方法中,我正在硬编码一个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 回答