【问题标题】:ASP.NET - UpdatePanel causes textbox to clear in UserControlASP.NET - UpdatePanel 导致文本框在 UserControl 中清除
【发布时间】:2010-10-14 13:25:23
【问题描述】:

我有一个页面,其中包含一个 UpdatePanel 和一个加载另一个用户控件的用户控件,其中包含一个文本框。

所以是Page->UpdatePanel->UserControl->UserControl (B)->Textbox

按钮和文本框的 ValidationGroup 是相同的。我在代码隐藏中调用 .validate("answer") ,我宁愿不使用 JS 验证。如果单击按钮,则文本框中的值将被清除并显示错误,但仅在第一次单击时。之后它工作正常,但随后使用相同设置的不同 UserControl (B)。同样的情况再次发生,在第一次点击时。如果我再次填写该值,它会保留下来并且我会收到回发。

这很奇怪,我想不出是什么原因造成的,如果我将按钮添加为回发触发器(即:删除更新面板),它可以正常工作。我尝试在按钮上设置 CausesValidation 没有任何效果,但我没有想法。

【问题讨论】:

    标签: asp.net validation user-controls updatepanel


    【解决方案1】:

    您确定没有在代码中某处清除文本框的值吗?

    你能放一些代码给我们看看吗?

    【讨论】:

    • 这很难,因为代码太多。 UserControl (B) 是在回发时动态创建的,由于某种原因,它的第一次值为 null。我不明白为什么这只是第一次。
    【解决方案2】:

    这实际上是由于 UseControl (B) 的 ID 在第一次回发和后续回发之间发生变化引起的。 ID 需要保持不变,我认为 ViewState 才能重新填充。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多