簡體   English   中英

如何忽略asp.net中的路由表單url路由

[英]How to ignore route in asp.net forms url routing

我正在使用.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

我相信這是因為我的路由選擇了微軟的axd文件而沒有正確發送javascript。 我做了一些研究,發現我可以使用Routes.IgnoreRoute ,這應該允許我忽略下面的Routes.IgnoreRoute

Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

但是,當我將該行添加到我的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命名空間,有什么想法嗎?

您不需要引用ASP.NET MVC。 您可以使用實現IRouteHandler的StopRoutingHandler ,如下所示:

routes.Add(new Route("{resource}.axd/{*pathInfo}", new StopRoutingHandler()));

這是.NET 3.5 SP1的一部分,不需要MVC。 IgnoreRoutes方法是一種便捷擴展方法,它是ASP.NET MVC的一部分。

一個老問題,但萬一它仍然可以幫助任何人,這對我有用:

routes.Ignore("{resource}.axd/{*pathInfo}");

存在“忽略”方法,而在標准ASP.NET中,“IgnoreRoute”方法似乎不顯示(即,不使用MVC)。 這將獲得與Haacked代碼相同的結果,但稍微清晰一點......

我只想補充一點,你還需要確保IgnoreRoutes規則的順序是正確的順序,否則你的第一條路線將首先應用,你的IgnoreRoute將被忽略。

MapRoute和IgnoreRoute是System.Web.Mvc中的擴展方法---您是否正確引用了該程序集?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM