回发时如何阻止用户界面?

Posted

技术标签:

【中文标题】回发时如何阻止用户界面?【英文标题】:How to block UI when post back happens? 【发布时间】:2018-03-17 21:38:14 【问题描述】:

我有这个要求。要在处理服务器请求时阻止网页,我正在使用 jquery Block UI 插件,它按预期工作。 我的问题是,每当任何回发事件(如按钮单击、下拉索引更改)时,我都必须每次显式调用 BlockUI。因此,如果我的应用程序假设 25 个表单由 50 多个控件组成,其中我必须阻塞 UI 每次回发事件发生时,我都必须调用阻塞 UI 函数 50 多次。

我的要求是,我不必显式调用阻止 UI 函数,并且应该自动发生,每当触发任何回发事件时,都应该在没有显式函数调用的情况下阻止 UI。

这可以实现吗?

请帮忙

【问题讨论】:

您是否对每个服务器请求使用 ajax 调用 【参考方案1】:

如果您使用 Ajax 调用,您可以使用全局 ajax 事件处理程序,您可以在此处找到 https://api.jquery.com/category/ajax/global-ajax-event-handlers/

$( document ).ajaxStart(function() 
  $( ".log" ).text( "Triggered ajaxStart handler." );
);

【讨论】:

是的,我正在使用 ajax 调用。你上面提到的那行代码,我需要把它放在应用程序的哪里? @Swad 将它添加到脚本标签内代码的顶部,如果它工作,请将其标记为工作。 我需要把它放在我的应用程序的所有页面中吗? 您可以在所有页面的页眉/页脚代码中使用它

以上是关于回发时如何阻止用户界面?的主要内容,如果未能解决你的问题,请参考以下文章

从支付网关回发时丢失会话

asp.net sessionID 在回发时更改?

由 javascript 更改时回发时丢失的值

回发时的 ASP.Net 复选框值错误?

ASP .NET单页上的多个用户控件 - 回发问题

如何避免在回发时从 asp.net 重复输入?