Замена для ScriptManager при стремлении к функциональности Ajax History - PullRequest
0 голосов
/ 08 января 2010

Когда вы создаете Поиск для своего веб-сайта, вы хотите, чтобы взаимодействие с пользователем было таким же хорошим, как и в любое время, и когда вы просматриваете сетку, вы хотите иметь возможность нажать кнопку «Назад», чтобы вернуться на предыдущую просмотренную страницу.

В asp.net с asp.net ajax это возможно при использовании ScriptManager + Ajax Control Toolkit , где есть History Manager.

Теперь, когда вы используете ASP.NET MVC, у вас нет возможности использовать ScriptManager, потому что он должен быть вложен в управляемую сервером форму.

Этот пример кода используется для Basic поиска

<% using(Ajax.BeginForm("TestSearch", 
       new AjaxOptions { UpdateTargetId = "details" })) { %>


    <%= Html.TextBox("search") %>

    <input type="submit" value="search" />

<% } %>

Когда вы нажимаете кнопку «Отправить» на стандартной странице, вы будете размещены на другой странице, однако в этом случае вы этого не сделаете. Поэтому история не сохраняется, поскольку вся веб-страница не была перезагружена.

Это только первая проблема.

Задача № 2

Поскольку история не сохраняется, как доказано выше, история поиска текстового поля не обновляется. Запись истории текстового поля добавляется только тогда, когда страница полностью постбекает. Как решить эту проблему с помощью asp.net mvc + ajax?

Ответы [ 3 ]

1 голос
/ 08 января 2010

Вы все еще можете использовать HistoryManager, но у jquery есть еще несколько опций.

Какая реализация истории Javascript лучше?

0 голосов
/ 08 января 2010

Встроенная история доступна в сценариях MS AJAX в проекте; Вы должны иметь возможность использовать его только на стороне клиента.

0 голосов
/ 08 января 2010

Вы проверяли MVC ScriptManager ?

Я знаю об этом, но ничего не знаю об этом ...

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