您可以創建一個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擴展方法的文件的頂部,否則它將無法識別它。
好,我也爲標準的HTML鏈接做了類似的擴展方法:http://insomniacgeek.com/code/how-to-use-cdn-links-in-your-asp-net-mvc-application-to使用-serve靜電-內容從-A-Cookie的域--IIS / – 2010-08-29 18:53:07