【发布时间】:2011-03-27 01:37:55
【问题描述】:
我有以下设置。我有一个 Web 应用程序,在这个应用程序的 .css 中,我定义了一个背景图像,当我将鼠标悬停在某个元素上时要呈现。
我想要一个位于服务器上的脚本或类似的东西,当访问图像时,它会调用应用程序上的操作。不幸的是,我不知道从哪里开始。
我想知道是否以及如何编写一个服务器端组件,该组件根据 css 对文件的请求在 Web 应用程序中执行操作。
我在 Windows7 上,ASP.NET MVC。
编辑
所以,我听从了您关于使用 httpHandlers 的建议。这似乎是一个完美的解决方案。但是,我遇到了问题。
我已经关注了这个非常有用的链接http://www.phpvs.net/2009/08/06/aspnet-mvc-how-to-route-to-images-or-other-file-types/,但我只是无法在路线上获得成功
routes.Add("ImageRouting", new Route("Content/themes/base/images/{filename}.png", new ImageRouteHandler()));
我唯一的其他路由是 MVC 模板默认生成的路由。
所以我发现 MVC 默认不处理对文件的请求。所以我必须通过将RouteCollection 的RouteExistingFiles 属性设置为true 来解决这个问题。
现在我的图像得到了适当的点击,但由于某种原因,位于 Content 文件夹中的 Site.css 不用于设置生成的 html 的样式。
有什么建议吗?
【问题讨论】:
-
当客户端请求图像时,您的意思是“访问图像时”吗?那会破坏例如如果浏览器预加载资源。你想达到什么目标,你在操作系统和网络服务器上吗?
标签: asp.net css asp.net-mvc scripting httphandler