Маршруты MVC3, мешающие JS - PullRequest
0 голосов
/ 09 июня 2011

У меня определен следующий маршрут:

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 не загружается, но как мне обойти это? Я справлюсь с этим?

Спасибо.

Ответы [ 2 ]

1 голос
/ 09 июня 2011

Вы можете игнорировать маршруты для JS

IgnoreRoute("{file}.js");

В качестве альтернативного метода вы можете использовать параметр ограничений, чтобы избежать файлов, заканчивающихся на js

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

RouteCollectionExtensions.MapRoute Метод (RouteCollection, String, String, Object, Object) из MSDN

constraints
    Type: System.Object
    A set of expressions that specify values for the url parameter.
0 голосов
/ 09 июня 2011

вам нужно настроить маршруты, чтобы он игнорировал файлы .js.

хорошее описание можно найти здесь: http://weblogs.asp.net/rashid/archive/2009/04/03/asp-net-mvc-best-practices-part-2.aspx

что-то вроде этого поможет:

routes.IgnoreRoute("{file}.js");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...