在 css 中指定背景图像 url 时,我们可以从配置条目中获取值。
今天我的服务器名称是http://imageserver ,明天可能会变成http://imagecacheserver .
如何在一个地方进行更改,以便不需要更改所有 css 文件。
在 .net 端,我从 appsettings 获取服务器 URL。
最佳答案
您使用 .Net MVC 吗?即使您使用的是 WebForms,您也可以合并 MVC(只需快速使用 Google)。
无论如何,如果是这样,你可以在 Global.asax 中放入 UrlRoute
routes.MapRoute(
"ImageHandler",
"images/{*fileName}",
new { controller = "ImageHandler", action = "Handle", fileName = "" }
);
然后只需添加一个执行以下操作的“ImageHandler” Controller :
public class ImageHandlerController : Controller
{
public ActionResult Handle(string fileName)
{
return Redirect("http://myactualserver.com/imageshere/" + fileName);
}
}
这会将所有 HTTP GET 请求从/images/* 重定向到动态 Url。当然,您可以“爵士乐”上面的方法来使用 AppSettings 中的 Url,而不是硬编码的字符串。为了安全起见,您可能还需要对“fileName”进行 HtmlEncode。
因此,无论文件实际位于何处,您的 CSS 代码现在都可以只使用 background-image: url("/images/blah.jpg")
。
关于jquery - 如何通过配置条目引用CSS中的背景图像url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4111985/