- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是几个不同网络技术堆栈中经验丰富的网络开发人员。我目前在 .Net 工作,我对部分回发感到好奇。
我了解 Partial Postback 的功能是什么以及如何以编程方式使用它,但我不喜欢使用我不了解的技术,Partial Postback 是如何实现的。
我理解 HTTP 请求和异步请求,关于部分回发的问题是它似乎两者兼而有之。
也许我只是遗漏了一些东西,但在我看来,部分请求同时执行,首先触发异步 POST 请求,但浏览器似乎意识到并且事件指示器开始旋转,这通常只发生在 HTTP 请求页面期间使成为。
那么,谁能解释一下微软是如何在 HTTP 请求级别实现部分回发的?
最佳答案
我知道这个问题已经有人回答了,但我不同意这个答案...
在我看来,上述文章"How to write your own partial postback in ASP.NET 2.0" 中滥用了“部分回发”一词。 .在本文中,作者向您展示了如何对 HttpHandler 进行 AJAX 调用。 这是一个与在 ASP.NET 中进行 PartialPostback 调用非常不同的过程。
我相信在(以上答案)事后评论中没有提到这种“差异”,其中指出:
“UpdatePanel 不仅会刷新它包含的控件,还会在处理后使用从服务器获取的值更新 ViewState 值。”
虽然这最后的评论有点难以捉摸 - 说明了使用 ASP.NET UpdatePanel 的“部分回发”的定义......它并没有解释什么是部分回发(这又是一个与一个普通的 AJAX 调用)。
详细说明...
MICROSOFT ASP.NET AJAX 使用 UpdatePanel 的:
在基本层面上,Microsoft AJAX 支持通过部分页面回发的异步请求。部分回发与同步全页面回发循环相同的页面生命周期,但仅刷新页面上的特定区域或控件 - 从而实现部分页面渲染 . MICROSOFT ASP.NET AJAX 依赖于拦截器模式来生成和处理部分回发。初始化时,MICROSOFT ASP.NET AJAX JavaScript 库添加一组客户端事件处理程序来拦截通常会启动整页回发的调用。处理函数拦截来自注册控件的回发调用,生成部分回发,处理响应内容,然后异步更新页面内容。 由于 MICROSOFT ASP.NET AJAX 建立在现有的 ASP.NET 回发体系结构上,因此它利用事件验证并在整个部分回发过程中维护 View 状态。您标准的“正常”AJAX 调用不会做这些事情!
简而言之...
MICROSOFT ASP.NET AJAX 使用“普通”AJAX 到“” ajax-ify ' 它是页面并实现部分更新......这样做时,它会在一次调用中多次交易和管理 View 状态。 这就是为什么它被称为“部分回发” .随后,这也是为什么他们最初将 UpdatePanel 描述为使您的页面“”的一种方式。 ajaxy '(因为它与使用 AJAX 不同)。
正常的 AJAX 调用:
在浏览器中使用 JavaScript 发起的异步请求会创建到服务器的新连接。是的...这可能包括对页面的有状态回发,但也包括对当前页面之外的资源的无状态请求。 但是,在异步回发的情况下,只有服务器上当前页面需要处理的信息才会被传递到请求中(您可以控制它)。 这意味着,不需要提交整个页面的内容,不需要管理 View 状态,并且可以绕过嵌入到页面生命周期中的( native )开销。同时,异步回发仅调用与处理当前请求相关的服务器事件。 这就是为什么普通的 AJAX 比 PARTIAL POSTBACKS 快得多的原因!
这些要点说明...
不仅“部分回发”是什么......而且为什么“部分回发”和“ajax”调用之间存在差异。这就是为什么这是一个更好的答案。
关于asp.net - 什么是部分回发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1238651/
我在使用 io-ts 时遇到一些问题。我发现它确实缺乏文档,我取得的大部分进展都是通过 GitHub issues 取得的。不,我不明白 HKT,所以没有帮助。 基本上,我在其他地方创建一个类型,ty
我必须创建一个正则表达式来搜索整个文件,以找到与 Java XML 解析器的第一部分(但不是第二部分)的匹配项。这将用于防止某些 XXE 攻击。不幸的是,它确实必须是单个正则表达式,并且它确实需要搜索
我有一些简单的 Shared/_Header.cshtml 文件中的内容。 My Shared/_Layout.cshtml 通过调用插入该代码 @Html.Partial("_Header") 目前
我有一个 if-else 语句,其中: 条件 1:ID 匹配并且自动填充某些字段。然后 if 语句只填充其余字段 条件 2:ID 不匹配,所有字段均为空白。 ELSE 语句将它们全部填充 当我使条件
我正在开发一个单页滚动网站。我正在尝试实现 ScrollMagic 并固定第一部分,以便网站的其余部分滚动到固定部分的顶部。我尝试创建一个 jsfiddle 来显示问题,但我似乎无法让 jsfiddl
这是我的情况: 我想使用 Google AdWords 的转换脚本,但出于某种原因,他们代码段的 javascript 部分在我的页面上添加了一些我似乎无法摆脱的不需要的空白。 所以我正在查看的选项纯
寻找一种优雅的方式在页面上添加一次脚本,就是这样。 我有一个需要 2 个 CSS 文件和 2 个 JS 文件的部分 View 。在大多数地方,只需要其中 1 个部分 View 。但在单个页面上,我需要
我想要一个网站,该网站始终具有相同的部分,具有相同的 id 以及我想要显示的所有内容。我对 javascript 不太了解,我想知道如何删除除特定部分之外的所有内容。 最好的方法是否是只执行一个循环来
SQL 语句教程 (11) Group By 我们现在回到函数上。记得我们用 SUM 这个指令来算出所有的 Sales (营业额)吧!如果我们的需求变成是要算出每一间店 (store_name)
我试图理解部分并认为我已经明白了。基本上,这是一种将部分应用程序应用于二元运算符的方法。所以我了解所有(2*) , (+1)等例子就好了。 但是在 O'Reilly Real World Haskel
有没有办法禁止在部分中覆盖给定的关键字参数?假设我要创建函数 bar总是有 a设置为 1 .在以下代码中: from functools import partial def foo(a, b):
我有这个使用节的 OpenMP 代码 #pragma omp parallel sections num_threads(8) { printf_s("Allo fro
我正在尝试重新创建 Apple 制作的有缺陷的 CNContactPickerViewController,因此我有一个数据数组 [CNContact],我需要将其整齐地显示在 UITableView
我有一个相对布局,其中包含一些 float 在 GridView 上的 TextView 。当我在网格中选择一个项目时,布局向下移动到屏幕的尽头,只有大约 1/5 的部分是可见的。这是使用简单的翻译动
我想在我的 tableView 中有两个部分。我希望将项目添加到第 0 节,然后能够选择一行以将其从第 0 节移动到第 1 节。到目前为止,我已将这些项目添加到第 0 节,但是当它关闭时数据不会加
我正在以自由职业者的身份开发支付控制软件,但我有一些关于 mysql 的问题。 。我有一个用作日志的表,名为“Bitacora”。在表中,我有一个名为 idCliente 的列,它是自己表中一个人的
我有一个 PFQueryTableViewController,我想向 tableview 添加部分,我这样尝试: - (PFQuery *)queryForTable { PFQuery *qu
我正在尝试编写一个查询,将部分匹配项与存储的名称值进行匹配。 我的数据库如下所示 Blockquote FirstName | Middle Name | Surname --------------
我正在开发一个语音备忘录应用程序,并且正在将文件保存到表格 View 中。我希望默认文件名显示为“新文件 1”,如果使用“新文件 1”,则它会显示为“新文件 2”,依此类推。 我正在尝试使用 do-w
我有以下简单的 HTML 布局 .section1 { background: red; } .section2 { background: green; } .section3 { ba
我是一名优秀的程序员,十分优秀!