Asp.net mvc 4 MVC4路由映射JavaScript文件到控制器

Asp.net mvc 4 MVC4路由映射JavaScript文件到控制器,asp.net-mvc-4,routes,Asp.net Mvc 4,Routes,下面是我正在尝试做的一个例子 提供从test.js到控制器动作的MVC路由,例如 > http://localhost/MVCScripts/test.js?id=123 到控制器 > http://localhost/Home/RenderJavascript?id=123 这背后的原因是根据id从服务器生成一个动态js文件。js文件将通过嵌入其他网站链接到 我已尝试将web.config设置为排除有问题的脚本文件夹: <handlers> <add

下面是我正在尝试做的一个例子

提供从test.js到控制器动作的MVC路由,例如

> http://localhost/MVCScripts/test.js?id=123
到控制器

> http://localhost/Home/RenderJavascript?id=123
这背后的原因是根据id从服务器生成一个动态js文件。js文件将通过嵌入其他网站链接到

我已尝试将web.config设置为排除有问题的脚本文件夹:

<handlers>
     <add name="scripts" path="/MVCScripts/*" verb="GET" type="System.Web.Handlers.TransferRequestHandler" />
</handlers>
调用时

> http://localhost/MVCScripts/test.js?id=123
我只是

The controller for path '/MVCScripts/test.js' was not found or does not implement IController.

注意,我的目标是使用MVC路由。谢谢

如果您在IIS集成管道模式下运行,请确保将以下处理程序添加到
节点的
集合中:

<system.webServer>
    <handlers>
        ...
        <add name="DynamicScript" path="MVCScripts/test.js" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
   </handlers>
</system.webServer>
<system.webServer>
    <handlers>
        ...
        <add name="DynamicScript" path="MVCScripts/test.js" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
   </handlers>
</system.webServer>
public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        name: "EmbedCode",
        url: "MVCScripts/test.js",
        defaults: new { controller = "Home", action = "RenderJavascript", id = UrlParameter.Optional }
    );

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
}