asp.net - ASP.MVC 中的忽略路由

标签 asp.net asp.net-mvc url-routing ignoreroute

我正在尝试访问 View 目录中的 .js 文件。
我有一个带有/Views/Home/MyControl.ascx 的 MVC 应用程序
我有一个 js 文件/Views/Home/MyControl.js

我希望引用 .js 文件并将其保留在控件中。
我在路由中尝试了以下条目,但似乎都不起作用。

        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.IgnoreRoute("{file}.js");
        routes.IgnoreRoute("{resource}.js/{*pathInfo}");
        routes.IgnoreRoute("{controller}/{resource}.js/{*pathInfo}");
        routes.IgnoreRoute("{*alljs}", new { alljs = @".*\.js(/.*)?" });

请帮忙,请不要建议将 .js 文件添加到脚本目录中。
我想让它以这种方式工作,或者知道为什么不能这样做。

我会把脚本放到页面中,在VS2010 B2中只有脚本调试被破坏了。

谢谢
问候
克雷格。

最佳答案

Views文件夹非常适合 View ,而 javascript 应该放在其他地方。这就是为什么MVC框架的设计者放了一个web.config在此 Views拒绝访问其中任何文件的文件夹。您可以修改此默认设置,但请注意这可能是一个潜在的安全漏洞。所以打开web.config文件位于 Views文件夹和:

代替:

<httpHandlers>
  <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>

和:
<httpHandlers>
  <add path="*.aspx" verb="*" type="System.Web.HttpNotFoundHandler"/>
  <add path="*.master" verb="*" type="System.Web.HttpNotFoundHandler"/>
  <add path="*.ascx" verb="*" type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>

导航至 http://yoursite/Views/test.js
附言您也可以删除所有 IgnoreRoutes你输入 global.asax .

关于asp.net - ASP.MVC 中的忽略路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1765726/

相关文章:

asp.net - NLog - 如何记录所有请求信息

c# - ASP .NET MVC 区域注册

java - 在使用多个域对象的 Controller 中使用 Spring MVC Validator

ReactJS 路由/浏览器同步重新加载/path 会产生 Cannot Get/Path 错误

c# - Telegram Bot Api 库 (.Net) 中标题的换行符

c# - 在文本框更改时动态更新标签文本?

c# - ASP.NET MVC FileResult 到磁盘上的文件

ruby - 在Rails 3.x 中,如何为引用父资源的嵌套资源设计 View ?

c# - 如何通过.net解析javascript文件中的数据?

javascript - return Json 函数没有更新我的下拉列表