#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 — в нем есть множество других полезных инструментов, помимо отладки маршрутов, которые могли бы помочь. Я предлагаю вам обновить свой вопрос новой информацией, надеюсь, кто-то еще сможет помочь.