jQuery和ASP.NET:在母版页完成初始化后执行站点代码

时间:2017-04-05 16:34:51

标签: javascript jquery asp.net ajax master-pages

我在ASP.Net中有一个母版页,它通过AJAX下载各种文件,然后为我正在使用的库做一些初始化工作。我正在使用jQuery的$ .when()。然后使用语法。

我的个人页面要求在执行代码之前进行所有这些设置。现在,我在我的页面上使用$(function(){})语法。这个问题是,它在页面渲染后立即执行,但很久就在我的when.then构造完成之前。

有没有办法等待那个结构?初始化后,我可以以某种方式从我的母版页代码中激活自定义事件,并将我的内容页面功能附加到该事件吗?还是有更好的解决方案?

PS:为了说清楚,我们在这里讨论的是客户端代码!

2 个答案:

答案 0 :(得分:2)

请勿在准备好的文档$(function () {})中包装,而是在自定义事件中包装。

$(document).on('mycustom',function () {});

然后在then

中触发
$.when().then(something).then(function(){$(document).trigger("mycustom");});

答案 1 :(得分:2)

在母版页中,您可以将when / then链设置为变量,并继续在详细信息页面中将其链接。毕竟,它们是一页客户端。因此,只要初始链首先出现,您就可以随意添加它。

因此,您可以将第一个链设置为变量:

var eventChain = $.when(/.../).then(/.../);

然后在详细页面中:

eventChain.then(/.../);

因此,详细信息页面实际上只是在主页面停止的位置。