Мне нужно запустить javascript-функцию, когда панель обновления полностью загружена (я хочу прокручивать), а не при загрузке начальной страницы.
Просьба предложить.
Спасибо
Мне нужно запустить javascript-функцию, когда панель обновления полностью загружена (я хочу прокручивать), а не при загрузке начальной страницы.
Просьба предложить.
Спасибо
Это способ получить конечное событие после обновления.
<script type="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(EndRequest);
function EndRequest(sender, args) {
}
</script>
Непроверено
<script type="text/javascript">
var app = Sys.Application;
app.add_init(ApplicationInit);
function ApplicationInit(sender) {
var prm = Sys.WebForms.PageRequestManager.getInstance();
if (!prm.get_isInAsyncPostBack())
{
prm.add_pageLoaded(PageLoaded);
}
}
function PageLoaded(sender, args) {
//Do something
}
</script>
Если вы используете AJAX, то единственный способ, который я нашел, чтобы дать предупреждение пользователю, возвращающемуся к сообщению Asynchronous, заключается в добавлении обработчика "end request" к PageRequestManager.
Таким образом, вы можете сообщить менеджеру запроса запустить функцию javascript при возврате из асинхронного события после AJAX.
Код для этого:
function load()
{
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
}
где "EndRequestHandler" будет именем вашей функции javascript, которую вы хотите вызвать. Вызвать вышеуказанную функцию в событии Onload тега:
<body onload="load()">
function EndRequestHandler()
{
alert("You record has been saved successfully");
}
Теперь Если вы хотите дать другое сообщение на основе вашей логики в коде на стороне сервера (код позади), вы можете использовать серверную сторону. Скрытое поле:
<input id="hdnValue" type="hidden" runat="server" value="" />
Задайте его значение на стороне сервера на Asychronous Post Back:
Защищенный Sub btn_Click (отправитель ByVal как объект, ByVal e As System.EventArgs) Обрабатывает btnCreateSample.Click
If condition Then
hdnValue.value = "do this"
Else
hdnValue.value = "do that"
End If
End Sub
Теперь вы можете проверить значение этого скрытого поля в своей клиентской стороне EndRequestHandler и дать другое предупреждение пользователю на основе его значения:
function EndRequestHandler()
{
if (document.getElementById(‘<%= hdnValue.ClientID %>’).value == "do this")
{
alert("You record has been saved successfully");
}
else
{
alert("There is an error");
}
}
вы можете использовать код ниже, если используется jquery
Это будет показано сохраненное сообщение и скрыть это сообщение через 5 секунд после обновления панели обновления.
function pageLoad() {
window.Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
}
function EndRequestHandler()
{
window.setTimeout(function () {
var label = window.$get('<%= lblMsg.ClientID%>');
if (label != null) { label.style.display = 'none'; }
}, 5000);
}