Я использую jQuery для имитации всплывающего окна, где пользователь выберет серию фильтров, которые, как я надеюсь, будут использовать для переподготовки ListView в исходном окне.
"Всплывающее окно" открывается с помощью запроса ajax, а контент на самом деле представляет собой разный файл aspx (выводимый вывод вводится в div, который действует как всплывающее окно).
У меня есть другой ListView в этом всплывающем меню, и он имеет разбивку на страницы.
Моя проблема заключается в том, что, поскольку всплывающее меню является реальным содержимым html внутри div на той же странице, когда я пытаюсь разбивать на страницы, вся страница обращается назад и заменяется на aspx, у которого есть фильтры.
Как я могу это исправить? Я попытался использовать панель обновления, чтобы содержать ListView, но это не сработало.
$( "div.yourthingie" ) скрыть();.
Скроет часть, которую вы хотите показать:) Вместо того, чтобы генерировать всплывающее окно на лету, оставьте небольшую часть уже сделанной и спрячьте ее в начале, когда вам нужно показать, показать и добавить информацию, необходимую для.
Надеюсь, что это поможет
Либо избавитесь от "корки" HTML и просто создайте <div> с его содержимым или использовать IFRAME.
Во-первых, подумайте о том, что происходит. Когда вы отправляете исходную страницу, вы отправляете "нормальный" запрос/ответ, чтобы получить код. На странице находится бит JQuery AJAX, который устраняет то, что по существу является модальным диалогом. Желаемый эффект: пользователь играет с новой страницей, пока не выяснит свои фильтры и не отправит обратно. Проблема в том, что эта "модальная страница" теряет информацию, когда кто-то разбивается на страницы.
Решение этого довольно просто, теоретически. Вы должны сохранить "фильтры" на всплывающей странице, чтобы их можно было повторить, а также информацию разбивки на страницы. ИЛИ вы должны кэшировать результирующий набор, пока пользователь разбивается на страницы.
Что бы я сделал, чтобы решить эту проблему, создайте статическую страницу, на которой есть "фильтры", и отработайте изломы AJAX отдельно от возврата страницы на родительскую страницу. После того, как все биты AJAX будут работать правильно, я бы затем связал их с всплывающей программой и убедился, что разбиение на страницы все еще не проблематично. Конечная проблема заключается в создании подпрограммы JavaScript, которая отправляется обратно на родительскую страницу и позволяет родительской странице отправлять свои JQuery-биты обратно на сервер.
Я не уверен в части HTML DIV уравнения, и я думаю, что вы можете решить проблему без этого решения. На самом деле, я считаю, что вы можете сделать страницу "модального всплывающего окна" без вызова AJAX, если можно либо a) отправить фильтры для применения через querystring, либо b) подделать форму на вторую страницу. Строка запроса - это более простой вариант, но он предоставляет некоторую информацию. Подделка формы submit не так сложна, но может быть проблематичной при всплывании.
Я просто снимаю некоторые идеи, но надеюсь, что это что-то для вас.