MVC3路线与JS路径干扰,我有以下途径定义

问题描述:

MVC3路线与JS路径干扰,我有以下途径定义

routes.MapRoute(name: "StateResults", url: "{state}/{searchTerm}", defaults: new { controller = "Results", action = "SearchState" }); 

在我的共享CHTML文件中的一个,我有以下定义:

<script src="@Url.Content("Scripts/jquery-1.5.1.js")" type="text/javascript"></script> 

我理解为什么JS是不是得到加载,但我怎么解决这个问题?我解决了这个问题?

谢谢。

您可以ignore routes for JS

IgnoreRoute("{file}.js"); 

作为一种替代方法,你可以使用约束参数R键避免文件与js

routes.MapRoute("StateResults", "{state}/{searchTerm}", 
    new { controller = "Results", action = "SearchState" }, 
    new { searchTerm = @".*?([^js])$" }); // regex not tested 

RouteCollectionExtensions.MapRoute Method (RouteCollection, String, String, Object, Object) from MSDN

constraints 
    Type: System.Object 
    A set of expressions that specify values for the url parameter. 

您需要设置它忽略.js文件的路由。

一个很好的说明在这里找到: http://weblogs.asp.net/rashid/archive/2009/04/03/asp-net-mvc-best-practices-part-2.aspx

这样的事情会做的伎俩:

routes.IgnoreRoute("{file}.js"); 
+0

结束我没能得到这个工作与IgnoreRoute选项,但设置约束没有工作。 – ElHaix 2011-06-09 16:08:34