ASP.NET - AJAX - 部分后跟完整的回发问题

时间:2009-02-05 15:21:25

标签: asp.net asp.net-ajax

我有一个包含一系列网页控件的页面。其中一个是关闭了AutoPostBack的文本框。

页面的操作方式是单击一个按钮以保存表单数据。此按钮位于更新面板之外。

因此,当我点击“保存”按钮时,下拉列表会发生部分回发,并且在此回发完成后,将为保存按钮完成一次完整的回发。但是,当完整的回发触发时,表单数据将返回到单击保存按钮之前的状态 - 即我的更改将被删除。

我认为这可能与部分更新返回的视图状态有关,并且视图状态在完全回发触发之前未在页面中更新 - 或者它已损坏。

有没有人有任何想法?

感谢。

4 个答案:

答案 0 :(得分:4)

并不意味着听起来很消极,但这些情况让我放弃了“通过书”ASP.net AJAX。学习jQuery / w简单的ASP.net表单/ w没有回发导致我构建更多有用和更酷的UI体验,而不是我为了使用更新面板等而战斗。

答案 1 :(得分:0)

如果在UpdatePanel上设置UpdateMode =“Conditional”和ChildrenAsTriggers =“true”,这将确保仅在DropDownList的回发事件触发时执行部分回发,而不是在单击Button时执行。

答案 2 :(得分:0)

感谢您的快速反应!但是,我也需要点击保存按钮事件。事件发生的顺序是完美的:

  1. 下拉列表已更改事件(部分)
  2. 保存按钮点击事件(完整)
  3. 问题是部分回发后丢失了表单数据。

    非常感谢。

答案 3 :(得分:0)

我已经在另一篇文章中发布了解决方案。这个简单的代码将确保您的viewstate适用于回发和部分回发。

Ideas for how to deal with viewstate when using ASP.NET AJAX and update panels