javascript - 即使在 Page.LoadComplete() 之后页面仍在加载

标签 javascript asp.net gridview ckeditor delay

我想禁用网页上的某些控件,同时根据 DropDownList 的更改加载页面。控制

当用户更改 DropDownList 时,我有代码暂时禁用该控件。

myDDL.enabled =false;

我的 Page_Load() 上也有调用创建 LoadComplete事件。

Page.LoadComplete += new EventHandler(Page_LoadComplete);

LoadComplete()我只需重新启用 DropDownList控制

myDDL.enabled=true;

但是,真正发生的是我的控件“非常快”地启用,并且用户仍然可以更改 dropdownlist, 的值即使页面仍在“加载”中。

“正在加载”是什么意思?

我有一个gridviewCKeditor文本框超过几行,我可以看到 gridview已加载,但CKeditor控件在停止之前仍在呈现,因为它在内部执行了加载操作(javascript)。

有什么办法可以延迟 LoadComplete()事件说 5 秒,让 CKeditor 中的 javascript 完成?

谢谢

最佳答案

如果您想要的只是 5 个部分的延迟,您可以这样做:

函数loadComplete() {

 setTimeout(function(){ myDDL.enable = true;}, 5000);

}

这将导致 ddl 在调用 loadComplete 5 秒后启用。

所以我实际上做的是在服务器上:

 private void load_page (){
     myDD.enable = false;
}

然后在客户端,使用jquery:

<script>
    $(document).ready(function() { $("#myDDL").prop('disabled', false); });

</script>

如果没有 jquery,您将使用 onload 事件处理程序作为表单的一部分。

此解决方案严格来说是客户端,但假定是一个 aspx 页面。 onload 事件处理程序已在标记中分配。

<html>
<head>
    <script>
        function init() {
            document.getElementById("someDDL").disabled = false;

        }

    </script>
</head>
<body>
    <form onload="init()">
        <asp:DropDownList id="someDDL" clientIdMode="Static" runat="server" Enabled="false"></asp:DropDownList>
    </form>
</body>
</html>

关于javascript - 即使在 Page.LoadComplete() 之后页面仍在加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40714627/

相关文章:

javascript - 通过 javascript/jquery 访问网络摄像头

javascript - 在 loopback-component-passport 中,为什么电子邮件被 @loopback 附加而不是设置从 auth 回调收到的正确电子邮件

javascript - 如何将 JavaScript 日期初始化为特定时区

c# - 从后面的代码添加用户控件

c# - 如何将响应行为添加到 asp :GridView

c# - 编辑 GridView 时显示下拉列表

javascript - 尝试使用 preg_match_all 使用 php 动态创建菜单到我的服务器 php 文档

asp.net - JQuery BlockUI 与 UpdatePanel View 状态问题

sql - 级联下拉列表,第二个下拉列表在数据库中存储错误的值

asp.net - 将 gridview 寻呼机渲染到表格的 tfoot 部分