【问题标题】:Radio buttons not retaining selection when user controls are posted back回发用户控件时,单选按钮不保留选择
【发布时间】:2011-12-02 11:13:03
【问题描述】:

当页面被部分回发时,我遇到了一些问题。我有一些单选按钮,我根据这些单选按钮通过javascript制作 tr display="" 和 display="none" 。之后我添加行gridview。 gridview 包含 empltyTemplate 和页脚以添加新行。但是当我在网格视图中添加行时,用户控件被回发,因此所有 tr 都变为 displa="none" ,这是加载页面时的默认值。我试图将 gridview 保留在更新面板中,但它不起作用。我的控件层次结构如下。

Level-1-母版页--->Level-2-母版页--->Level-3-.aspx页面--->Level-4-用户控制--->Level-5-多手风琴-- >Level-6:每个手风琴中有 1 个用户控制..

这里的代码太长了。我试图将更新面板保留在用户控件中(6 级),但它不起作用。经过一番谷歌搜索后,我发现如果更新窗格在 accrdian 内部,则它不起作用。因此,我尝试将所有 accrdian 保留在更新面板中,但在这种情况下,.aspx 页面不会回发,但放置在 accrodian 内的所有用户控件都会被回发,因此选择设置为默认加载。

我希望在回发最后一级用户控件时保留所有选择。

情况很复杂,很难理解,但事情就是这样......如何解决我的问题?

【问题讨论】:

    标签: javascript asp.net ajax partial-page-refresh


    【解决方案1】:

    从 JavaScript 对 DOM 所做的更改不会跨 PostBack 保留;服务器不知道你做了什么,因此无法跟踪它。

    要解决这个问题,您要么需要通过回调或 Ajax 调用在服务器端更新 JS 代码状态,要么让它更新表单中反映标签状态的隐藏输入字段,并且让服务器在那里查看并相应地更新呈现的 HTML。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-20
      • 1970-01-01
      • 2012-05-11
      • 1970-01-01
      • 2012-12-30
      • 2012-10-16
      • 2011-03-21
      • 1970-01-01
      相关资源
      最近更新 更多