问题标签 [ispostback]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
7204 浏览

asp.net - IsPostback 在技术上是如何工作的?

我目前遇到一个奇怪的问题,当我单击一个简单地回发到同一页面的 asp.net 按钮时,除了 Google Chrome 之外的所有浏览器都在 Page_Load 事件中注册对 IsPostback 的调用为真。

这使我尝试发现 ASP .Net 页面中的 IsPostback 属性是如何在技术上实现的,这是我正在努力寻找的东西。

迄今为止,我的想法是它可能与以下内容有关;

  • 请求 VERB 类型是 POST 而不是 GET。
  • 包含 Viewstate 信息的隐藏输入不存在任何信息,因此之前提交的控制信息不可用。
  • 请求头中的 http referer 与当前 URL 相同。

谁能提供用于确定 IsPostback 布尔属性的条件的实际细分?

注意:我正在寻找实际的实现而不是感知/理论,因为我希望使用它来积极解决问题。我还搜索了 MSDN,迄今为止找不到任何准确涵盖该机制的技术文章。

在此先感谢,布赖恩。

0 投票
2 回答
6425 浏览

ispostback - 刷新页面集 PostBack = true

我的asp.net项目中有一个aspx页面,单击按钮后有一个按钮控件,然后使用F5键或浏览器的刷新按钮刷新页面,而不是将IsPostBack属性设置为false,而是设置它为真。

谁能帮我解决这个问题?

0 投票
5 回答
16871 浏览

asp.net - IsPostBack 总是返回 false

我遇到了一个奇怪的问题。每次我刷新页面,IsPostBack都是假的。
为了确保我的内容或母版页中没有任何内容导致此问题,我创建了一个空的 Web 表单并在调试模式下启动它。尽管如此,在回发时,我已IsPostBack设置为 false。

我有enableSessionState="true"并且<sessionState timeout="30" />在 web.config 中。

快把我逼疯了!

更新:我按 F5 刷新页面。根据答案,这不应导致回发。我想知道用户何时刷新页面(甚至手动)并防止对数据库进行一些修改)。
有解决方案吗?

0 投票
4 回答
1075 浏览

asp.net - ASP.Net 按钮 IsPostBack

页面上有一个按钮,可以捕获用户的选择并调用另一个页面。

出于某种原因,它 在带有按钮的页面上的页面加载事件上 引发了!IsPostBack模块。

这对我来说没有意义,因为当用户单击按钮时,这肯定是一个 PostBack 事件。

我在下面的按钮上提供了代码。谢谢你的帮助!

0 投票
3 回答
4429 浏览

vb.net - 在回发占位符控件消失

在我的网页中,我在占位符中加载用户控件。当 ajaxcontroltoolkit 评级发生更改时,每个用户控件都会触发回发。我遇到的问题是,如果我使用

占位符中的控件在帖子中消失。

我的 Page_Load 目前看起来像这样

Load_EvaluationList 是加载用户控件的内容,如果我在这两个周围放置 IsPostBack 检查,控件就会消失,可能是什么问题

0 投票
6 回答
13761 浏览

asp.net - 当我单击按钮或任何其他时,IsPostback 总是错误的

我使用asp.net 5 年以上。但现在我面临一个奇怪的问题。当我尝试从我创建的包含 asp:button、asp:textbox 等的表单发送电子邮件时,在代码页中它总是告诉 IsPostBack false。即使我单击发送邮件按钮(asp.net 按钮)。我无法理解有什么问题。

web.config 文件中是否需要回发任何东西?

测试页面http://buyerrs.com/Test.aspx

确定它在测试页面中没有问题。因为它是非常普通的页面,在 vb 中只有一个按钮和代码。缓存、urlrewrite 或 web.config 中的某处出现问题。但我不明白在哪里?

这是 web.config 文件

最后我找到了错误上升的地方。本网站代码基于此http://www.datafeedscripts.net/default.aspx软件。他们正在使用三个 dll 文件(vchsite.dll、vchLicense.dll、vchbasesite.dll)并在下面有一个 httpmodule 代码

当我排除该 dll 并从 web.config 文件回发中删除 httpmodule 行时,工作正常。所以这是错误的。他们在他们的 Dll 文件或 httpmodule 中做错了什么。

但仍然无法理解什么是错误。是否有机会控制 dll 文件的回发操作?

0 投票
1 回答
2819 浏览

c# - 我创建的asp.net调用按钮单击事件

我正在用 asp.net 编写一个网络应用程序。我有一个调用生成按钮并返回按钮的类(测试)的 aspx 页面。类构造函数获取按钮点击事件应该激活的函数(userClickOnButton)并插入到button.click += EventHandler("函数名(userClickOnButton)");

问题是在代码后面的 aspx 中我使用 IsPostBack (不能取下它,需要这个条件),当我点击按钮时,程序不会转到我为按钮创建的事件,但是当我取下 IsPostBack条件程序确实转到我创建的事件(函数 userClickOnButton)。

我的代码是:aspx 代码后面

我的课

需要帮助来激活事件而不取出 IsPostBack 条件

谢谢

0 投票
4 回答
21668 浏览

c# - 如何在 ASP.NET C# 中使用 if (IsPostBack)

如何if (IsPostBack){}将用户名从两个文本框中显示到另一个文本框中?

我有 3 个文本框和一个按钮。文本框命名为 txtLastName、txtGivenName、txtOutput。我的按钮是 btnSubmit。

如何在 txtOutput 文本框中显示来自 txtLastName 和 txtGivenName 的文本?

如何在此代码中将其显示为:First(空格)Lastname 或 Last, Firstname。

0 投票
3 回答
3122 浏览

c# - C#:动态用户控件 IsPostback 虽然首次加载 UC,但返回 true 事件

我在占位符中有一个带有动态用户控件的页面。当我加载页面时,它默认加载一个 UC(我们称之为“OrigUC”)。在这个页面上,我有一个按钮,它用另一个“NewUC”替换了 UC。所以这个按钮回发使用 ajax 并替换了 UC 。

在 NewUC 中,在我的 Page_Load 中,我检查 IsPostBack(),但由于某种原因,即使我第一次加载 UC,它仍然返回 true。为什么它返回 true,我认为 IsPostBack 将返回是否 UC,因为我在 UC 的 Page_Load 中检查它。我错过了什么吗?

好的,我现在更多地了解来自调用它的页面的用户控件上的 IsPostback... 那么我如何确定它是否是第一次从页面调用 UC 呢?

例子:

如果是第一次在页面内调用UC,我需要查询DB和外部WebS并绑定UC上的控件。如果我触发部分回发,我不想再次查询 DB 和 WebS。

C

0 投票
1 回答
212 浏览

c# - 如何进行无缝代码推送(为什么 Page._fPageLayoutChanged 很重要)?

我们有一个我们无法解决的问题:如何在没有最终用户中断的情况下在白天推送代码。我是一名开发人员,我正在与我的系统部门一起工作。

设置: 3 个 Windows 2008 IIS 7 框 - 1 个处于关闭节点,另外 2 个处于活动状态(具有共享配置),所有 3 个都位于 BigIP 后面。我的网站设置为 1 个 Web 应用程序,下面有多个 Web 应用程序,全部为 .NET 2.0。我们正在使用 stateserver 和一个 set machinekey 用于 viewstate。这种设置对我们来说相对较新,因为我们以前只有一台 live 机器,而且它不在 BigIP 后面。迁移到此设置的一个原因是无缝推送。

我在做什么:对其中一个 Web 应用程序进行代码更改。为此,我对向下节点进行更改,然后测试更改,然后复制到向上节点。

我所经历的取决于代码的哪一部分发生了变化。例如,我在 webconfig.xml 中更改了一个值。当最终用户回帖时,一切正常,因为他们使用了 webconfig 中的新值。我们非常喜欢这个!我还能够以某些无缝的方式更改 dll 代码(更改后端的逻辑)。

然而,真正困扰我们的问题是:我在表单中添加了一个新标签。一旦我这样做了,.Net 就像用户第一次加载表单一样,但他们的所有视图状态都被保留了。我专门将此追溯到Page.IsPostBack 属性,并进一步通过反射将其追溯到_fPageLayoutChanged。_fPageLayoutChanged = true 当我通过推送将新内容添加到表单时。最终用户的体验是他们的内容仍然存在 b/c 视图状态仍然存在,但是我在第一次加载时执行的操作全部触发,并且他们尝试执行的事件没有被连接起来。例如,如果他们按下一个按钮来保存他们的笔记,这些笔记仍然在屏幕上,但是按钮点击事件没有被触发,因此他们的笔记没有被保存。根据页面架构,

这是来自网络的 IsPostBack 的代码(这是伤害我们的最后一部分):

最后一行的评论杀死了我,b/c 它没有解释他们为什么做出这个决定。

此外,我不敢相信我们是唯一一个在白天尝试推送代码而不中断最终用户并因此而受挫的人。我们不知道该怎么办。我们是否需要更改 IIS 设置?重新设计我们的代码,使其不依赖于 IsPostBack 属性(但事件仍然不会触发,因为当 IsPostBack 为 false 时,.NET 似乎无法正确连接它们)?绕过这个甚至可能吗?