从url中的“区域”区域访问静态内容

时间:2012-09-11 10:43:27

标签: asp.net-mvc url asp.net-mvc-areas

我目前正在开发一个网络应用,在根级别有一个小网页,在几个区域有更复杂的网页。 所有基于区域的网页都具有彼此独立的静态内容,因此每个网页都有自己的内容文件夹。 不幸的是,静态内容的结果url包含字符串“Areas”,例如

http://myappurl/Areas/MyArea1/Images/myFile.png

由于区域是技术实现细节,用户不应该知道(或关心),因此它们不属于URL。 我该如何解决这个问题? 我不想为每个区域创建另一个根级目录(会让人感到困惑和容易出错),但我真的不明白如何修改路由以允许这样做。 帮助将不胜感激:))

1 个答案:

答案 0 :(得分:1)

默认情况下,ASP.NET不处理对.png文件的请求。

Scott Hanselman有一篇文章解释了如何更改此功能。链接:Back to Basics: Dynamic Image Generation, ASP.NET Controllers, Routing, IHttpHandlers, and runAllManagedModulesForAllRequests

如果您按照那里的说明操作,那么您将能够控制如何路由所有png文件的请求。因此,您可以像在任何其他View / JSON / XML中一样,为嵌套在该区域内的文件定义路径。然后诀窍是设置适当的内容类型并将图像渲染为文件流。

相关问题