Как получить доступ к хеш-значениям AJAX в ASP.NET MVC? - PullRequest
3 голосов
/ 28 сентября 2010

Я рассматриваю возможность использования метода хеширования для создания статических ссылок на контент, который управляется вызовами ajax в Asp.Net MVC. Подтверждением концепции, над которой я работаю, является страница профиля /user/profile, где можно просматривать и редактировать различные разделы. Вы всегда можете запросить следующий URL /user/profile#password для прямого доступа к странице вашего профиля в разделе смены пароля

Тем не менее, мне интересно, не начинаю ли я это неправильно, поскольку, очевидно, я не могу получить доступ к части после хеша, кроме как путем объявления значения маршрута для хеша в global.asax. Так что мне интересно, если это правильный способ доступа к этой части URL?

Должен ли я объявить значение маршрута или есть другой способ работы со значениями хеша (framework, javascript или mvc)?

Отредактировано, чтобы добавить: В чистом javascript у меня нет проблем с использованием свойства window.location.hash, хотя я не уверен, насколько он стандартен в современных браузерах, поэтому возникает вопрос о фреймворке / плагине javascript, который будет его использовать.

Ответы [ 3 ]

7 голосов
/ 28 сентября 2010

Дело в том, что часть, которая следует за хешем (#), никогда не отправляется на сервер в HTTP-запрос, поэтому у сервера абсолютно нет возможности его прочитать. Поэтому не нужно тратить время на поиск чего-то, чего не существует.

С другой стороны, вы можете настроить маршруты для создания ссылок, содержащих хеш-часть, чтобы клиентские сценарии могли читать их.

3 голосов
/ 10 мая 2011

Отправьте значение хеша document.location.hash в качестве параметра для действия контроллера по вашему выбору.

0 голосов
/ 20 мая 2015

При необходимости это можно сделать в коде ...

RedirectResult(Url.Action("profile") + "#password");

должно работать нормально

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...