Выполнить JavaScript после частичной обратной передачи панели обновления?
У меня есть страница, которая добавляет скрипт дерева файлов к нему.
<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 .
5 ответов
Использование
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)
Чтобы запустить ваш javascript с полной и частичной обратной передачей, поместите свой код javascript в функцию javascript pageLoad().
function pageLoad()
{
//your javascript code
}
Пример:
function pageLoad() {
$(':submit').click(function () {
CommodityArray();
});
$('#btn_image').click(function () {
CommodityArray();
});
$(".repHeader").disableSelection();
CommodityArray();
}
Надеюсь, поможет!:)
Вы должны использовать следующий код после панели обновления.
<script type="text/javascript" language="javascript">
var pageRequestManager = Sys.WebForms.PageRequestManager.getInstance();
pageRequestManager.add_endRequest(NewCharacterCount);
</script>
где NewCharacterCount
ваше имя функции JavaScript
Прочитайте эту статью Sys.WebForms.PageRequestManager endRequest Event Надеюсь, что это может помочь вам.
Если вы используете 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
Вы можете использовать клиентские события 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.
}