Ajax删除了我的javascript所做的任何更改

时间:2011-10-10 10:22:27

标签: c# javascript asp.net ajax

使用ajax我在这之前导致OnTextChangedEvent有一些Javascript对输入字段执行检查以进行验证,并根据它是否有效输出一些文本。我运行的Ajax重置了我的javascript所做的更改。这一切都按此顺序发生:

Javascript开火!

文字更改显示

Ajax开火了!

文字更改重置

ajax部分自动回送包含在更新面板中。没有给出任何代码,是否有人知道如何停止javascript更改重置?

我会在一天中添加代码,因为我找时间。以为我至少会得到这个问题。谢谢你提前。

2 个答案:

答案 0 :(得分:1)

文本更改在DOM模型中进行,不会传输到服务器。 如果ajax触发它将覆盖由javascript创建的DOM中的更改。

解决方案是将验证文本传输到服务器并通过ajax再次添加它们。

答案 1 :(得分:0)

  

UpdatePanel完全替换了更新面板的内容   更新
  这意味着您订阅的那些事件是否定的   订阅时间更长,因为该更新面板中有新元素   完整答案here

在您的Page或MasterPage中,输入以下脚本

<script type="text/javascript">
  Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);

  function EndRequestHandler(sender, args)
  {
    Validate(); //method that performs check on input field
  }   
</script>