您可以创建一个URL扩展方法,该方法将根据web.config文件(或其他文件)中的值生成调试URL或活动URL。
public static MvcHtmlString CDNImageLink(this UrlHelper url, string imageName)
{
string urlFormat;
if((bool)ConfigurationManager.AppSettings["Debug"])
urlFormat = "/Content/Img/{0}";
else
urlFormat = "http://cdn.com/Img/{0}";
return MvcHtmlString.Create(string.Format(urlFormat, imageName));
}
然后,您可以在需要图像URL的任何位置使用此扩展方法(包括HTML扩展方法):
public static MvcHtmlString ActionLinkWithImage(this HtmlHelper html, string imageName)
{
UrlHelper Url = new UrlHelper(html.ViewContext.RequestContext);
string imageUrl = Url.CDNImageLink(imageName);
// generate the rest of the ActionLink using the imageUrl
}
确保你有
using
用于URL扩展方法位于声明HTML扩展方法的文件顶部的命名空间的语句,否则它将无法识别该方法。