【问题标题】:Change IsPostBack during debugging在调试期间更改 IsPostBack
【发布时间】:2013-03-15 17:44:09
【问题描述】:

我知道不可能在代码中更改 IsPostBack:

IsPostBack = false;

因为它没有设置器。但是我可以在调试期间更改它吗?我试过了,但做不到。那么,这不可能吗?

【问题讨论】:

  • 您是否要完全禁用它?或者是否存在您不希望它启动回发的特定事件?
  • 我只是想检查一下。当我按下按钮并获得回发时,一些控件会改变它们的位置和外观。所以我认为如果 IsPostBack = true,那么某些 css 或 jquery 没有正确加载。只是想检查一下。

标签: c# asp.net visual-studio-2010 postback webforms


【解决方案1】:

调试器提供的唯一优势是,它允许您在没有设置器时修改支持字段,或者在无法访问时调用设置器。在这种情况下,没有设置器,也没有支持字段。 Page.IsPostBack 属性是一个计算属性,并且对几个难以修改的值执行此操作。

您可以尝试修改一些影响IsPostBack 计算的表达式。例如,如果字段_isCrossPagePostBacktrue_requestValueCollection 不是null,那么IsPostBack 将评估为true。但是改变这两个会影响到IsPostBack,因为其他属性值也会改变。这会起作用,但会产生意想不到的后果。这不是我会尝试的。

【讨论】:

  • @Alex 是和否。您可以尝试修改IsPostBack 计算中使用的表达式之一,例如_isCrossPagePostBack。但这会对系统产生其他影响(可能是您不打算的)
  • 好的,_isCrossPagePostBack 为 false,_requestValueCollection 不为 null,我将 _requestValueCollection = null 和 IsPostBack 更改为 false
【解决方案2】:

我想到了一些你可以做的事情来管理它。 - 将任何你能做到的逻辑移入

(!IsPostBack)
{

}

-设置创建控件的断点(如果它们是动态的)。通过这种方式,您可以知道回发中发生了什么变化。

【讨论】:

  • 是的,我知道我可以在检查 IsPostBack 的任何地方检查代码,问题是我有几个级联母版页以及从其他类继承的页面(也继承了)。我只是想快速检查一下。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
  • 2020-03-16
  • 1970-01-01
  • 1970-01-01
  • 2013-02-08
  • 1970-01-01
相关资源
最近更新 更多