【问题标题】:ASP.NET Code Behind and Page results are mismatchedASP.NET 代码隐藏和页面结果不匹配
【发布时间】:2011-03-18 11:55:39
【问题描述】:

嗨 我正在使用 VS2010 开发一个网站。我今天开始收到一个问题 我页面上的文本框不会每次都填充,而后面的代码显示文本已更改。

我有一个输入 ID 的文本框,在验证时会获取记录并在其他文本框中显示详细信息。在某些 ID 上,后面的代码(在调试时)显示所有文本框的 Text 属性已更改以反映获取的记录,但在事件完成后,文本框会显示以前的文本,它们的文本不是那些在后面的代码中显示。

我尝试了 VS2010 和 VS2008。我有双核机。 “设置亲和力”不起作用。

请帮忙

【问题讨论】:

  • 您在哪种情况下设置了文本?似乎有些东西正在覆盖文本,它应该在 Page_Load 正如@ajay_whiz 建议的那样
  • 100% 的时间展示一个例子是有用的......
  • 谁能告诉我为什么当我在 ViewState 中存储对象列表时,某些记录(不是全部)的文本框没有更新,当我不将列表存储在 ViewState 中时,文本框是为每条记录更新,即工作正常?

标签: asp.net code-behind mismatch


【解决方案1】:

您查看 Page_Load 事件了吗?每次回发时都会调用此事件。执行您的初始代码,建议检查回发。

例如

protected void Page_Load(object sender, EventArgs e)
{
   if(!IsPostback)
   {
     //your initial code
   }
}    

【讨论】:

  • 我在 ViewState 中保存了一个对象列表,这样我就不需要一次又一次地查询数据库。这就是问题所在,一旦禁用此行,所有字段都会很好地填充,并且启用时某些记录不会刷新。我不明白为什么?
猜你喜欢
  • 1970-01-01
  • 2016-09-04
  • 1970-01-01
  • 1970-01-01
  • 2014-05-29
  • 2012-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多