У меня есть сайт ASP.NET 4.0. На сайте есть элемент управления TreeView внутри UpdatePanel.ASP.NET 4.0, ScriptManager и HistoryPoints
Имейте в виду - , когда пользователь впервые посещает страницу, не было возвращено сообщение (подробнее об этом через минуту).
Когда пользователь нажимает на узлы в дереве, он вызывает обратную передачу. Я могу установить точки истории, когда пользователь движется по дереву - это не имеет большого значения. Точка истории - это идентификатор выбранного узла. (Я хочу, чтобы использовать это, чтобы управлять другой информации на странице)
Есть два поведения, я вижу, и я озадачен о том, как исправить эти:
- Во-первых, точки истории всегда, кажется, указывают на текущий. Если я начну с пункта A, а затем нажмите элемент B, когда я нажму кнопку «Назад», я завершаю элемент B на пару кликов (как если бы все точки истории были установлены на одно и то же значение). Я думал, что история должна быть запущенным списком узлов, которые пользователь нажал ... но в этом случае кажется, что список всегда представляет собой набор точек истории с текущим идентификатором. (Если кто-нибудь знает, как выставить коллекцию исторических точек в scriptmanager, я бы с удовольствием услышал, как это сделать.)
- Во-вторых, и больше из-за головной боли, это то, что когда дерево первоначально загружается, нет обратной передачи. Есть ли способ установить точку истории без обратной передачи Ajax? (Я хотел бы иметь способ сохранить состояние по умолчанию для дерева, но сейчас перейду к элементу A из корня, а затем щелкнуть назад, чтобы пользователь заходил на любую страницу, на которой они были, до попадания моей страницы)
Кто-нибудь еще заметил странное поведение с точками истории ScriptManager?
Я также думал об альтернативах - например, о представлении, скрытых полях, куках, переменных сеанса ... но мне не повезло ни с одним из решений, которые я пробовал. Есть ли способ заставить кнопку «Назад» работать без точек истории? (Я не думаю, что есть)