0

我有一种从 web 服务中提取 html 并在一系列弹出窗口中显示此信息的方法。为此,我编写了一个 javascript 来创建弹出窗口:

function dynamicPopup(title, HTMLstring) {
    newWindow = window.open();
    newDocument = newWindow.document;
    newDocument.write(HTMLstring);
    newDocument.title = title;
};

I 循环遍历从 web 服务返回的每个对象调用以下结果的结果。

Page.ClientScript.RegisterStartupScript(this.GetType(), DateTime.Now.ToString(), resultMessage, true);

问题是它仅在返回几个弹出窗口时有效,但如果返回 15 个,则仅显示大约 8-10 个。

作为绷带,我在 RegisterStartupScript 之后添加了等待,这似乎效果很好,但会导致交付时间变慢。有谁知道解决这个问题的其他方法?

4

2 回答 2

2

我建议您使用 Guid 来用密钥识别您的脚本

Guid.NewGuid().ToString()

所以

Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), resultMessage, true);
于 2013-07-17T18:07:59.727 回答
1

不是在循环中调用多个,而是Page.ClientScript.RegisterStartupScript首先构造需要运行的脚本(例如,使用 StringBuilder,将多个resultMessage用';'分隔的组合起来),然后Page.ClientScript.RegisterStartupScript只调用一次来执行结果字符串。

于 2013-07-17T18:13:06.940 回答