javascript - 如何使用 jquery-blockui 取消阻止被阻止的页面?

标签 javascript c# jquery-blockui

我开始使用 jQuery BlockUI Plugin阻止页面的用户事件,直到在 C#/ASP.NET 端完成按钮处理。

所以我写了这个;

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
<script src="http://malsup.github.io/min/jquery.blockUI.min.js" ></script> 
<script type="text/javascript">
    $(document).ready(function () {
        $('#MyButtonID').click(function () {
            $.blockUI({ message: '<h1>Please wait..</h1>' });
        });
    });
</script>

如您所见,这是一个简单的代码,当我单击 asp:button 时阻止 UI,其中 IDMyButtonID 直到它完成这是过程。这很好用。

现在,我尝试在此点击过程中根据条件创建一些警报。如果我理解清楚,现在我需要首先取消阻止我的页面,显示警报并再次保持阻止状态,直到完成按钮过程。

这就是为什么我写了两个函数(也许我可以在没有它们的情况下直接调用这些 $.unblockUI$.blockUI) JavaScript 方面;

function UnblockUI() {
    $.unblockUI();
}
function BlockUI() {
    $.blockUI({ message: '<h1>Please wait..</h1>' });
}

据我搜索,在服务器端调用 Javascript 函数的最常见方法是使用 ClientScriptManager.RegisterStartupScript C#中的方法。所以我试着在 C# 端提醒一些事情作为一个例子;

if(condition)
{
    string script = string.Format("alert('{0}');", "Some error message");
    Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "alert", script, true);
}

它奏效了。之后,我尝试通过在我的 javascript 端调用 UnblockUI 函数来取消阻止页面,但它没有取消阻止。

if(condition)
{
    Page.ClientScript.RegisterStartupScript(this.GetType(), "unblock", "UnblockUI", true);
    string script = string.Format("alert('{0}');", "Some error message");
    Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "alert", script, true);
}

如果我理解正确,这个 UnblockUI 参数调用我在上面定义的 UnblockUI javascript 函数,这个函数调用 $.unblockUI(); 并取消阻止我的页面,该页面已被阻止,但正如预期的那样,它没有工作。

我在这里错过了什么?还是我甚至不明白这个插件可以让您在使用 AJAX 时模拟同步行为,而无需锁定浏览器 语句?

最佳答案

尝试使用如下函数调用:

function unblockUI() {
    $(function() {
        $.unblockUI();
    });
}


function blockUI() {
    $(function() {
        $.blockUI({ message: '<h1>Please wait..</h1>' });
    });    
}

我希望我能帮助...

关于javascript - 如何使用 jquery-blockui 取消阻止被阻止的页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34418417/

相关文章:

javascript - 有没有办法在 JavaScript 加载之前不加载 html?

javascript - 哪些 Web 浏览器最容易出现不兼容问题?

javascript - 添加 jQuery UI 中断 jQuery show()

javascript - 每秒在div中加载图像

c# - 在 Unity 中注册用于拦截的实例

c# - 转换为错误类型时没有编译时错误

c# - 来自 Resource.Designer.cs 的模糊引用智能感知错误

jQuery BlockUI 元素阻止在 Firefox 上不起作用

jquery - TypeError : $. 浏览器未定义

jquery - 阻止除一个 div 之外的所有内容