Я пытаюсь использовать маршрутизацию WebForms ASP.NET 4.0. Вот моя RegisterRoutes функция:ASP.NET 4.0 WebForms Маршрутизация Javascript не работает
void RegisterRoutes(RouteCollection routes)
{
routes.Ignore("{resource}.axd/{*pathInfo}");
routes.MapPageRoute("GoodInfo", "catalog/good/{good}", "~/GoodInfo.aspx");
routes.MapPageRoute("GoodGroup", "catalog/group/{group}", "~/default.aspx");
}
Для страниц, как /catalog/group/{group}
все нормально. Но есть проблемы со страницами catalog/good/{good}
.
Первая странная вещь: когда я открываю эту страницу, она вызывает дважды. Поэтому я вижу, какая ценность для Page.RouteData.Values["good"]
. Первый раз в Page.RouteData.Values["good"]
имеет правильное значение (мой goodId), но во второй раз я получил строковое значение «WebResource.axd»!
Так что мой highslide JavaScript не работает на странице. И когда я нажимаю на highslide image, страница перезагружается, а не выполняет JavaScript.
Я добавил эту строку routes.Ignore("{resource}.axd/{*pathInfo}");
, но мне это не помогло. Есть идеи?
меня аналогичная проблемой в на моих приложениях и «исправить» его, я добавил, что ссылки на ссылки на все ресурсы (изображения, css и js) на наших страницах изменились, поэтому вместо '' Я написал что-то вроде этого ''. Обратите внимание на дополнительную косую черту в источнике скрипта. VS будет жаловаться на это, но я буду работать нормально во время выполнения. Я взял время, чтобы понять это, и мне пришлось пробовать разные комбинации путей, пока я, наконец, не получил такой путь. Надеюсь, это сработает для вас. – MilkyWayJoe