首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery POST未更改IsPostback变量

jQuery POST未更改IsPostback变量
EN

Stack Overflow用户
提问于 2009-06-02 04:26:41
回答 3查看 1.8K关注 0票数 3

在使用jQuery将数据回发到服务器时,我遇到了一些奇怪的行为。

如果在序列化表单数据中包含__VIEWSTATE和__EVENTVALIDATION,则IsPostback页面变量设置为true,如果排除这两个变量,则IsPostback设置为false。

包含这两个变量对我来说很容易,但有人知道幕后发生了什么吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-06-02 04:31:10

viewstate和eventvalidation跟踪的一件事是是否发生了回发。考虑到基于事件的ASP.NET页面生命周期,除了简单地将值存储在某个地方之外,没有其他方法可以跟踪是否发生了回发。

换句话说,您可以通过深入viewstate对象并找到回发布尔值并将其更改为true来手动检查回发。这可能与描述的不完全一样,但它更好地突出了视图状态内部发生的事情。

票数 4
EN

Stack Overflow用户

发布于 2009-06-02 06:01:13

IsPostBack()有点乱七八糟的,但是它只检查__VIEWSTATE和__EVENTVALIDATION,并没有什么其他东西。它肯定不会做的是检查HTTP谓词是POST还是GET,这是大多数人假设的(如果您设置了一个简单的页面,并将viewstate和eventvalidation (如果存在)字段放在查询字符串中,然后检查IsPostBack(),就可以看到这一点)

但是,你为什么要检查呢?实际上,这只有在发送完整的表单提交时才会起作用,如果您只是部分发布,则倾向于将其发送到IsPostBack不重要的web服务。

票数 2
EN

Stack Overflow用户

发布于 2009-06-02 16:39:50

如果你想用jquery发出一个“回发”,你应该包括__VIEWSTATE和__EVENTVALIDATION。这是ASP.NET WebForms正确传播完整回发所需的两个关键数据块。如果您只希望发出服务调用,那么您应该不需要这两个字段中的任何一个,但是您将失去post到具有WebForms事件管道的所有好处的页面的能力。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/937890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档