gpt4 book ai didi

asp.net - Asp.NET 中的多对多 ajax 请求

转载 作者:行者123 更新时间:2023-12-03 22:02:59 25 4
gpt4 key购买 nike

如何同时向 ASP.NET 服务器发送 2 个或多个 ajax 请求,在服务器上处理它们,然后在每个请求的某个 TextBox 中显示结果?

最佳答案

首先,我只将我的答案集中在更新面板上,因为您使用的是 UpdatePanels。

现在, UpdatePanels 无法以这种方式处理 2 个请求 ,您不能只发送一个请求,然后在此请求完成之前请求第二个请求。主要原因是因为 UpdatePanel 在每次 Ajax 调用 ViewState 时都会将 ViewState 发送回服务器,并等待答案,随着该答案, View 状态会更改为新的。

因此,当更新面板等待基于 View 状态 A 的答案,并获得 View 状态 B 的重播时,它简单地不显示它。当您从 A 或 B 请求 UpdatePanel 发送/获取数据时, View 状态必须更改为新的 View 状态。现在,当您向 A 询问结果时,在结束之前向 B 询问结果,您将获得 2 个不同的 View 状态,其中一个将失败,因为中间时间发生了变化。

ViewState 不是唯一的想法,在每次更新面板单击时,页面将所有输入都回传到页面,A 和 B 输入以及页面内的所有其余部分,这也是一个问题。例如,想象一下,您使用输入 A+B 触发 A UpdatePanel,然后在 A 结束之前,您使用相同的输入触发 B UpdatePanel。现在 A,等待来自 A+B 的结果,和 B 相同,但是在中间时间,来自 A 的 A+B 结果现在不同,因为 B 已经改变了它们 - 并且失败了。

UpdatePanel 对于快速和肮脏的 ajax 来说是非常好的开箱即用技巧,但是这种自动化具有将所有数据发布到页面上的负面影响!并且一次可以处理一个请求。

可能的解决方案是删除 UpdatePanel 并在 javascript 上使用 jQuery 和 Timers 来请求许多调用并等待许多结果,并处理您显示它们的方式。其他可能的技巧是使用 iframe,这取决于您赢得的内容来显示、发送和获取来自每个 iframe 的许多请求。

关于asp.net - Asp.NET 中的多对多 ajax 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8377206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com