问题标签 [ignoreroute]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
25804 浏览

c# - 如何忽略asp.net表单中的路由url路由

我正在使用 .NET 3.5 SP1 框架,并且在我的应用程序中实现了 URL 路由。我收到了 javascript 错误:

Error: ASP.NET Ajax client-side framework failed to load.
Resource interpreted as script but transferred with MIME type text/html.
ReferenceError: Can't find variable: Sys

我相信这是因为我的路由选择了 microsoft axd 文件并且没有正确发送 javascript。我做了一些研究,发现我可以使用Routes.IgnoreRoute,这应该允许我忽略下面的 axd:

但是,当我将该行添加到我的 Global.asax 时,我收到了这个错误:

CS1061: 'System.Web.Routing.RouteCollection' does not contain a definition for 'IgnoreRoute' and no extension method 'IgnoreRoute' accepting a first argument of type 'System.Web.Routing.RouteCollection' could be found (are you missing a using directive or an assembly reference?)

我已经System.Web.Routing导入了命名空间,有什么想法吗?

0 投票
4 回答
5419 浏览

asp.net-mvc - 如何阻止来自 IIS7 中托管的 ASP.NET MVC 1.0 应用程序内部对所有 *.php、*.cgi 等页面的请求?

无论路径信息如何,我都想阻止对任何 .php 或 .cgi 的请求。

例如,当使用以下 url 时:

http:// mysite /Admin/Scripts/Setup.php

它匹配现有路线:

但是没有脚本控制器,因此 MVC 抛出以下内容:

IControllerFactory '' 没有为名为 'scripts' 的控制器返回一个控制器。

我真正喜欢的是,在 MVC 到达控制器之前,该请求只是遇到了硬失败。

我知道我可以通过在 Global.asax 中挂钩 Application_BeginRequest 并抛出一个新的 HttpException(404, "Not Found") 来做到这一点,但这并不是我正在寻找的优雅解决方案。

我真的希望这会奏效:

但事实并非如此。

注意:Sean Lynch 的回答效果很好,但我仍然非常想要基于 System.Web.Routing 或 System.Web.Mvc 的解决方案。这样我就可以允许我的用户在运行时添加他们自己的排除项。

0 投票
4 回答
7655 浏览

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

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

我希望引用 .js 文件并将其与控件一起保存。我在路由中尝试了以下条目,但似乎没有一个有效。

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

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

谢谢问候克雷格。

0 投票
2 回答
3378 浏览

asp.net - ASP.NET 路由 ignoreRoute 不起作用

我无法从路由系统中排除不存在的文件。我在 Web 窗体方案中处理此代码:

当我调试

路径仍然包含不存在的 gif 文件、jpg 等如果可能的话,我想排除所有具有扩展名的文件

上面的代码有问题吗?顺序是否正确,即在向 RouteCollections 添加路由之前添加 routes.IgnoreRoute 条目?

0 投票
2 回答
1115 浏览

php - IgnoreRoute for PHP Site 嵌入在 ASP.NET MVC 3 中

我有一个带有嵌入式 worpress 博客的 MVC 3 站点。以下所有 url 都是通过 MVC 定向的。

我还有一个名为 Blog 的顶级目录,它是一个 php wordpress 博客。如果我访问www.mysite.com/blog/index.php博客就会出现。但是所有访问www.mysite.com/blog似乎都通过 MVC 进行路由,并产生似乎与System.Web.Helpers丢失无关的错误(我将它部署到 bin 文件夹,所以我知道这不是问题)。

RegisterRoutes我的文件方法中,我在方法Global.asax.cs的顶部尝试了这两行,但似乎都不起作用。

有人有想法吗?

根据史努比的要求,我已经包含了 Global.asax.cs 的内容:

0 投票
2 回答
3698 浏览

asp.net-mvc - 当 URL 以“/Views/”开头时,ASP.NET MVC IgnoreRoute 方法无法正常工作

我在我的应用程序中使用 ASP.NET MVC。
用户可以通过将它们包含在页面上来指定自己的图像、样式、脚本。
但是当他们指定不存在的文件的 URL 时,路由机制会尝试通过 URL 查找控制器和操作到图像或样式等。

我添加了一个方法 IgnoreRoute 并在那里指定了我不想通过路由处理的所有扩展。

它可以正常工作,直到 URL 不以“Views/...”开头。
在这种情况下,URL 传递到应用程序并在应用程序内部执行错误 404。
但我想用 IIS 处理这个错误。

这可以用空项目进行测试。您可以简单地将此代码用于 Global.asax.cs 文件:

现在我们需要在 IIS 上托管这个应用程序,例如在http://localhost/testmvc/

您可以在 Application_Error 方法内放置一个断点,以查看错误何时在应用程序内执行

所以现在打开测试 URL: http://localhost/testmvc/test.css
我们可以看到 IIS 处理了这个错误: 在此处输入图像描述

现在我们在路径中打开另一个带有“/Views/...”的测试 URL: http://localhost/testmvc/Views/test.css
我们看到错误已由 ASP.NET 处理: 在此处输入图像描述

所以问题是:也许存在一些设置来告诉 MVC 不处理路径中带有“视图”的 URL?

0 投票
0 回答
748 浏览

asp.net-mvc-3 - IgnoreRoute 不适用于 PIE.htc

我已经搜索了很长时间,但似乎无法找到我的错误。对于我的 MVC 3 网站,我需要带有圆边的按钮,因此在 IE 样式表中我注册了 PIE.htc。现在的问题是,当单击按钮时,在重定向 UrlReferr 视图时,会将 PIE.htc 作为下载提供给用户。我按照这里的描述实现了 PIE:css3pie in MVC, where to place the pie.htc file?

以下路线应被忽略:

资源和网站图标工作,但 PIE.htc 似乎被忽略了。任何想法为什么?

0 投票
2 回答
1354 浏览

.net - 这两个 ASP.NET MVC IgnoreRoute 指令有什么区别?

默认的 ASP.NET MVC 3 项目模板包含以下IgnoreRoute指令:

我现在已经看到多个项目将这条线(包括StackExchange 的 DataExplorer)更改为如下所示:

任何人都可以解释在什么情况下或一般情况下为什么默认.axd路由忽略不足够而后一个版本是? 或者反过来说,为什么人们会选择不使用后一个版本而只使用默认版本?

我不得不承认我并不完全理解IgnoreRoute语法,而且关于这个主题的 MSDN 文档非常简洁。

0 投票
1 回答
142 浏览

asp.net-mvc - 我可以创建一个匹配已经被忽略的路由的路由吗?

所以,我的 global.asax 中有以下内容来创建我的 MVC 路由。它们按照它们出现在下面的顺序被调用。我期望发生的是它会忽略到 css 文件夹的路由,然后创建到 css/branding.css 的路由(在运行时从另一个视图生成)

这不可能吗?当我向 css/branding.css 发出请求时,我收到一个 404 错误,指出该文件不存在。有没有办法让这个工作,我宁愿它对任何查看源的人都是透明的,这个文件来自除 css 文件夹之外的任何地方。

0 投票
2 回答
447 浏览

asp.net - Use System.Web.Mvc in non MVC ASP.NET Web Forms Application

We are developing an ASP.NET Web Forms application with REST modelled URL, for which we are using Route tables in global.asax. However, recently we came over a problem where the WebResource.axd and ScriptResource.axd files were getting routed as well. We wanted to use the RouteCollection.IgnoreRoute function. However, since it in System.Web.Mvc, it would mean that we would need to reference that dll in a non MVC Web Forms application.

Is it safe for us to continue with the approach. If anyone has a better way to ignore routes from within the Web Forms application please do share. Please also note that the application has been extensively developed in Web Forms and moving to MVC at the current stage is not feasible.