我有一些其他人设计的页面是我需要转储到我的MVC应用程序中的简单HTML。
毫不奇怪,图像存储在本地/图像目录中。
我希望能够从主视图页面所在的Views目录中提供图像。
我宁愿这样做,也不要把它作为自己的虚拟目录,但我不确定这是否真的很容易。将来我不得不在页面中添加'mvc'组件(例如RenderPartial或Html扩展代码),所以我更喜欢将这些页面作为我的应用程序的一部分,而不是仅仅在自己的虚拟目录中进行标记。
主要途径:
http://example.com/microsite/
图片路径:
http://example.com/microsite/images
如果可能的话,我希望微型网站/图像能够映射到Views / Microsite / images。
或者,如果有一种方法可以在应用程序中创建“伪”虚拟目录,我宁愿这样做,而不是依赖于必须从IIS中设置虚拟目录 - 但是I don't think thats possible。
我尝试使用类似的东西,但当然不起作用,因为这实际上并不是映射,而只是忽略了一条路线:
routes.IgnoreRoute("microsite/images/{*pathInfo}");
答案 0 :(得分:1)
听起来您可能会受益于名为“区域”的MVC 2功能。菲尔哈克发布了new feature。
答案 1 :(得分:1)
无论图像的实际位置如何,都应使用<img src="<%=Url.Content("~/my/path/to/images/picture.png")%>
进行解析。而不是“〜/ Content / Images”,你会指向“〜/ Views / Products / Images / product1.png”,或接近它的东西。
无需使用此实现修改路由。