在回发时更改页面内容

时间:2010-08-09 07:53:15

标签: c# asp.net events

我有一项调查,您必须点击几个问题页面。我使用“下一步”和“上一步”按钮来执行此操作。我使用会话来监视我的位置。但是,这是一个问题。

我使用button_click事件来增加页面计数器,但由于这会在 page_load事件之后触发,所以第一次点击时没有任何反应,而且每次点击都会导致所有内容都落后一页因为问题在计数器递增之前呈现。

有没有办法在不使用查询字符串的情况下解决这个问题?

评论回复10:15:

我的理解是发生以下情况:

  1. 加载第一页并且未设置计数器。计数器设置为1.显示第一页。
  2. 用户点击“下一步”按钮,触发回发。
  3. 页面加载,显示同一组问题,因为计数器仍然是1。
  4. 按钮Click-event运行,递增计数器。但是,该页面仍显示旧问题。
  5. 在此之后,所有内容都落后一页,因为在触发click事件之前呈现问题,递增页面计数器。

    我可能没有看到明显的东西:|

3 个答案:

答案 0 :(得分:0)

为什么不使用开箱即用的向导控件?这就是它的设计目标。他们已经解决了您可能遇到的所有问题,并且完全可以自定义。

Scott Gu's blog

MSDN Walkthrough

答案 1 :(得分:0)

就像帕维尔在评论中所说,发布一些代码来澄清这个问题可能有助于看到你可能出错的地方。可能有几个问题,首先检查以确保您的代码中的逻辑是正确的。一步一步地看看它是否正在做你想要的。设置断点也是查找问题的好主意。它可能只是一个不合适的变量(这种情况多次发生在我身上并导致很多头发拉动)。

答案 2 :(得分:0)

我通过使用LoadComplete事件来设置所有“动态”文本和控件。由于Page对象的LoadComplete事件在控件的回发事件之后触发,因此我可以按原样运行。