我想使用ASP.NET MVC 5自動生成一些JavaScript文件,並在其URL中使用正確的.js
擴展名。創建一個以「.js」結尾並返回JavaScript的MVC路由?
這是我的問題;
我在整個我的網站使用require.js,它工作得很好。但是,並非我所有的JavaScript文件都是磁盤上的真實文件。其中一些必須在運行時生成。所以我寫了一個控制器來生成動態JavaScript文件,並在使用默認路由時提供它們;
// ~/Resource/CommonRes -- from ResourceController.CommonRes()
define([], function() {
return {
"menuItemConfiguration":"Configuration",
"menuItemAdmin":"Admin",
"manageAccount":"Manage Account",
"logOff":"Log off"
...
};
});
不過,我需要有可用的路線爲~/Scripts/Resources/CommonRes.js
- 的.js
擴展是至關重要的,因爲實際上我返回require.js模塊,要調用這樣;
require(['Resources/CommonRes'], function(commonRes) {
// code the uses the resource file
});
在這種情況下,命名爲Resources/CommonRes
模塊將始終以~/Scripts/Resources/CommonRes.js
尋找。因此需要用這個擴展來提供它。
我似乎無法得到正確的路由。我嘗試了以下,但無濟於事;
routes.MapRoute(
name: "Resource Scripts",
url: "Scripts/Resource/{action}",
defaults: new { controller = "Resource" },
namespaces: new string[] { "AITrackRecord.Controllers" }
);
絕對正確!非常感謝這 - 它打開了大量的可能性! – 2014-09-23 08:08:07