2012-09-11 58 views
0

我目前正在研究一個Web應用程序,它在根級別上有一個小型網頁,在區域中有幾個(更復雜的)網頁。 所有基於區域的網頁都具有獨立的靜態內容,因此每個網頁都有自己的內容文件夾。 不幸的是,結果URL對靜態內容包含字符串「地區」,例如通過url訪問來自「Areas」區域的靜態內容

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

由於區域是一個技術實現細節並沒有什麼用戶應該知道(或者不關心),它們不屬於網址。 我該如何解決這個問題? 我不想爲每個區域創建另一個根級別的目錄(這會令人困惑並且容易出錯),但我並不真正瞭解如何修改路由以允許此操作。 幫助將不勝感激:)

回答

1

默認情況下,ASP.NET不處理對.png文件的請求。

Scott Hanselman有一篇文章解釋瞭如何改變這個功能。鏈接:Back to Basics: Dynamic Image Generation, ASP.NET Controllers, Routing, IHttpHandlers, and runAllManagedModulesForAllRequests

如果你按照那裏的說明,那麼你將能夠控制對所有png文件的請求是如何路由的。因此,您可以像嵌入任何其他View/JSON/XML一樣爲區域內嵌套的文件定義路由。訣竅就是設置適當的內容類型並將圖像渲染爲文件流。