Я создаю сайт ASP.NET MVC, где я хочу, чтобы одно из представлений, которые я возвращаю, автоматически прокручивалось до определенной точки.
Часть сайта, на которой я хочу, чтобы это происходило, работает как форум - есть «темы», которые содержат «сообщения». Пользователь может либо просмотреть всю постраничную ветку, либо перейти к конкретному сообщению, используя его идентификатор. Когда пользователь просматривает конкретное сообщение, я хочу показать обычный интерфейс темы, затем перейти к странице, на которой находится сообщение, и прокрутить вниз до сообщения.
Можно ли каким-то образом автоматически прокрутить вниз до определенной точки при возврате представления из действия на сайте ASP.NET MVC? Если это так, как мне это сделать?
ПРИМЕЧАНИЕ. Одно из решений этой проблемы, которое я нашел, заключается в том, как Stack Overflow и другие сайты Stack Exchange делают это: на каждый ответ на вопрос можно связать, добавив #ID
к URL. Если невозможно автоматически прокрутить вниз при возврате представления, я бы реализовал это вместо этого, но я не понимаю, как использовать такой подход, когда имеется несколько страниц, а рассматриваемое сообщение отсутствует на текущей странице.
UPDATE:
Основываясь на ответе Криса , в настоящее время я планирую реализовать его с URL-адресом, похожим на этот: example.com/forum/[ForumID]/thread/[ThreadID]/post/[PostID]#[PostID]
. В своем действии я выясняю, на какой странице ветки находится сообщение, а затем возвращаю все сообщения с этой страницы в представление.
Однако я заметил нечто особенное в том, как Stack Overflow решает эту проблему. Попробуйте: https://meta.stackexchange.com/questions/57170 - в конечном итоге вы отправите https://meta.stackexchange.com/questions/57155/gravatar-bugs-and-improvements-in-chat/57170#57170.
Как реализовано вышеизложенное? Это точно , что я хочу достичь .