2011-06-09 19 views
0

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是不是得到加载,但我怎么解决这个问题?我解决了这个问题?

谢谢。

回答

1

您可以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.