Выполнить javascript после частичной обратной передачи обновления?

У меня есть страница, которая добавляет к ней файл дерева script.

<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/init.js"></script>
<script type="text/javascript" src="js/easing.js"></script>

У меня есть панель обновления с выпадающим списком. При запуске события SelectedIndexChanged (частичная обратная передача пакета обновления) не выполняйте javascript.

Ответ 1

Используйте

function pageLoad(sender, args) {

  InitialiseSettings();
}

function InitialiseSettings(){
    // replace your DOM Loaded settings here. 
    // If you already have document.ready event, 
    // just take the function part and replace here. 
    // Not with document.ready 
    $(element).slideUp(1000, method, callback});

    $(element).slideUp({
                   duration: 1000, 
                   easing: method, 
                   complete: callback});
}

или попробуйте обработчик событий add_endRequest:

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(InitialiseSettings)

Обновление

Лучше переместите весь код из document.ready в функцию InitialiseSettings и передайте его pageLoaded событие

Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(InitialiseSettings)

Пример кода:

Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(InitialiseSettings)

Ответ 2

Чтобы запустить ваш javascript в полном и частичном обратном порядке, поместите ваш javascript-код в функцию javascript pageLoad().

function pageLoad()
{
   //your javascript code
}

Пример:

function pageLoad() {

    $(':submit').click(function () {
        CommodityArray();
    });
    $('#btn_image').click(function () {
       CommodityArray();
    });
    $(".repHeader").disableSelection();

    CommodityArray();
}

Надеюсь, это поможет!:)

Ответ 3

Вам следует использовать следующий код после панели обновления.

<script type="text/javascript" language="javascript">
var pageRequestManager = Sys.WebForms.PageRequestManager.getInstance();
pageRequestManager.add_endRequest(NewCharacterCount);
</script>

где NewCharacterCount - ваше имя функции javascript.

Прочтите эту статью Sys.WebForms.PageRequestManager endRequest Event Надеюсь, это может вам помочь.

Ответ 4

Если вы используете UpdatePanel и хотите вызвать функцию javascript после обновления содержимого в панели обновления, вы можете использовать ниже, чтобы сделать это легко. В теге body вызывается функция RefreshContent()

<body onload="RefreshContent()">

<script type="text/javascript">
  function RefreshContent()
  {
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
  }

  function EndRequestHandler()
  {
    alert("Add your logic here" );
  }
</script>

Ссылка ссылки http://www.infoa2z.com/asp.net/how-to-call-javascript-function-after-an-updatepanel-asychronous-request-to-asp.net-page

Ответ 5

Вы можете использовать Клиентские события PageRequestManager. Параметр отправителя будет содержать необходимую информацию. Например, это можно сделать:

// Register event handler
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded);

/// Executed when all page content is refreshed, full page or async postback: https://msdn.microsoft.com/en-us/library/bb397523.aspx
function pageLoaded(sender, args) {
    var isPostBack = sender.get_isInAsyncPostBack();
    if(!isPostBack) return;

    // PostBack logic here.
}