приложение mvc с механизмом просмотра данных razor проблемы с URL

#asp.net-mvc-3 #razor

#asp.net-mvc-3 #razor

Вопрос:

Я создаю новое приложение mhc с механизмом просмотра данных razor. У меня проблемы с URL

Вот мои ссылки на действия

 @Html.ActionLink("Home", "Index")
@Html.ActionLink("Schedule", "Schedule")
  

После того, как я загрузил домашнюю страницу, мой URL-адрес выглядит нормально

Пример: mysiteurl.com

Затем я нажимаю ссылку Расписание (при наведении курсора я вижу правильный URLhttp://mysiteurl.com/home/schedule ). Если я нажму на него в результате, мой URL будетhttp://mysiteurl.com//#/Home/Schedule . Я не знаю, почему он добавляет знак # к моему URL-адресу, но это вызывает проблему в моем приложении с другими страницами.

есть идеи, что я делаю не так?

У меня нет какой-либо пользовательской маршрутизации, вот мой метод RegisterRoutes в Global.asax

 public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );

        }
  

Комментарии:

1. Определены ли у вас какие-либо пользовательские правила маршрутизации?

2. Произойдет ли то же самое, если вы введете URL-адрес вручную, вместо того, чтобы нажимать на ссылку? Кроме того, действительно ли неверный URL возвращает страницу?

Ответ №1:

Ваш ActionLinks выглядит нормально. Я бы предположил, что у вас есть по крайней мере один пользовательский маршрут, определенный внутри вашего RegisterRoutes метода. Я бы предположил, что у вас где-то там опечатка.

Вы могли бы попробовать установить Glimpse через NuGet — это позволяет вам точно видеть, какие правила маршрутизации выполняются. У Скотта Хансельмана есть этот блог о том, как им пользоваться.

Комментарии:

1. Выглядит нормально, ваше действие Schedule перенаправляет на что-нибудь?

2. Хорошо, я думаю, я нашел причину проблемы. Я использую мобильную библиотеку jquery, и если я удалю ссылку, она заработает. проблема, с которой мне нужно их использовать <link rel=»stylesheet» href=» code.jquery.com/mobile/1.0a4/jquery.mobile-1.0a4.min.css » /> <тип сценария=»текст / javascript» src=» code.jquery.com/mobile/1.0a4 /… >

3. Похоже, что эта ссылка может содержать ответ: Подстраницы не загружаются через Ajax в формате A4

4. в моем случае я могу загрузить страницу, но URL имеет #

5. У меня закончились идеи — возможно, все же стоит запустить Glimpse — в нем есть множество других полезных инструментов, помимо отладки маршрутов, которые могли бы помочь. Я предлагаю вам обновить свой вопрос новой информацией, надеюсь, кто-то еще сможет помочь.