hasbina Ответов: 2

див исчезают после обратной передачи?


Привет,

покажите панель с помощью jquery, нажав на ссылку ниже

<a class="flip1" href="#" title="Comment" style="color:#CEF"><img src="/image/history-button.gif"/></a>


jquery как показано ниже,
$(document).ready(function () {
                 $(".flip1").click(function () {
                     $("#panel").slideToggle("slow");
                 });
             });


Моя проблема заключается в том, что div исчезает при нажатии другой кнопки внутри панели обновления.

как этого избежать?

[Edit]добавлен блок кода [/Edit]

2 Ответов

Рейтинг:
2

_Amy

Да, он исчезнет.

Как я вижу onclick flip1 из флип-контроля вы показываете панель. когда вся страница будет отправлена обратно на сервер,он воссоздаст ее форму. Чтобы избежать этого, вы должны использовать Панель Обновления[^] для частичного обновления / рендеринга страницы.
ОПЕРАЦИОННАЯ
Кнопка .NET вызывает обратную передачу на сервер, который восстанавливает всю страницу и отправляет ее обратно в браузер. Поскольку метод Open вызывается клиентской части, изменения не зарегистрированы в состояние представления страницы. Если вы хотите, чтобы он запомнил, был ли он открыт или закрыт через обратные ссылки, используйте скрытое поле на странице. Когда вы открываете диалог с jQuery, установите значение скрытого поля (должно быть runat=" server " hidden field).
Добавьте обработчик к событию загрузки страницы (на стороне клиента), который проверяет значение скрытого поля и показывает диалоговое окно, если значение правильное.
первоисточник здесь[^].

-- Амит


Sk. Tajbir

хороший.. 5+

Рейтинг:
0

vinodkumarnie

Важная вещь, которую вы должны знать при использовании Jquery, это обратная передача собственность
Когда обратная передача код occurse JQuery получит свои исходные значения..
Так что вы должны предотвращать обратная передача чтобы увидеть его функциональность..

<asp:button id="Button1" runat="server" text="Button" xmlns:asp="#unknown" /> 

Код JQuery ниже..
$(document).ready(function () {
             $(".flip1").click(function () 
             {
                        $("#panel").slideToggle("slow");
              });
            $("#Button1").click(function (e) // button inside update panel
              {
                 e.preventDefault();
                });
 
   });


Где e. preventDefault () будет избегать paostback.. Поэтому, когда вы используете кнопки, используйте e. preventDefault() предотвращать обратная передача ( Если обратная связь не является необходимой)..