2013-08-06 84 views
0

在ASP MVC4網站中,如何將的所有文件的請求都路由到子文件夾中?ASP路由到一個文件夾

例如,是否有可能路徑URL請求:

  • http://site/Assets/template.css - >~/Site1/Assets/subfolder/template.css
  • http://site/Assets/a.png - >~/Site1/Assets/subfolder/a.png

我希望能夠在app_start上動態註冊這些,因爲我無法預測子文件夾的名稱會在那個時候出現。

+0

爲什麼要註冊資產路線? 您可以使用捆綁並從任何子文件夾獲取資產。 你也可以在_layout中添加腳本和css,並且只使用配置值。<0121>' – Nilesh

+0

我有一些區域這是'可插入的'。直到'App_start',我才知道所有的文件夾名稱。這些領域需要自己的資產,如圖像和CSS。 – Darbio

+0

你的目的是什麼?如果您的根目錄中有資產文件夾,則可以隨處使用「/Assets/a.png」。 –

回答

1

會這樣的幫助嗎?

public static void RegisterBundles(BundleCollection bundles) 
{ 
    var folderName = ConfigurationManager.AppSettings["AssetFolderName"]; 

    bundles.Add(new StyleBundle("~/" + folderName + "/css"); 
} 
+0

這將有助於css文件,但對於圖像和其他資產,我認爲這不會解決問題。 (還是)感謝你的建議。 – Darbio

+0

對於圖像,您可能無法使用相同的方法。您可以使用動態屬性來保存文件夾的路徑,並且可以在您的視圖中稍後使用這些路徑,而不是使用文字路徑「../SomeFolder/Someimage.png」!類似'',你可以在ActionExecuting或某個事件中定義文件夾! – Nilesh