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

jQuery and ASP.NET: Execute site code after master page has finished initialization

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

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

有没有办法等待那个构造?我可以在初始化后以某种方式从我的母版页代码中触发自定义事件,并将我的内容页函数附加到它吗?或者有更好的解决方案吗?

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

不要包装在准备就绪的文档中$(function () {}),而是包装在自定义事件中。

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

THEN 在 then

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

在母版页中,您可以将 when/then 链设置为一个变量,并在详情页中继续链接它。毕竟,它们是一页客户端。所以只要初始链排在第一位,你就可以随心所欲地追加它。

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

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

然后在详情页:

eventChain.then(/.../);

所以详情页实际上只是从母版页停止的地方开始。