使用ajax处理onChange,txtBox.text控件与form.request(txtBox)不匹配

时间:2016-08-13 17:52:46

标签: jquery asp.net vb.net

我有一个自动保存每个控件模糊的表单。 此功能有效。

有3个字段需要一些额外的处理,所以我认为对于那些3,触发更改INSTEAD可能会在服务器上节省几个cpu周期。

对于那些字段,我删除了正常的模糊处理程序,并添加了一个特殊的处理程序。 我使用jquery.off(),jquery.blur()和jquery.change()方法。

特殊处理程序首先调用save()(与普通处理程序完全相同的例程),然后在save()成功完成时执行额外的计算。

模糊调用时,保存功能完美无缺。 我正在使用jquery.form插件。该调用发布到页面本身。 (与共享的webmethod相对) 我还没有发现它缺少更新的值,我试过了。

当change()从更改事件中调用相同的函数时,我会遇到奇怪的行为。

在save()txtLength.text中给出旧值。 request.form(txtLength.UniqueID)给出新值。

服务器上的调用链源自form_Load。

从我在lifecycle表单上看到的内容,到那时应该加载所有控件。

一种解决方案是从这两个控件的blur()调用特殊处理程序。这是可以接受的,但这意味着放弃而不试图真正了解最新情况。

我想知道是否有人可以解释为什么表单在模糊和更改事件时的行为不同。

我是否误解了生命周期。其他一些表单事件比load()更好吗?

1 个答案:

答案 0 :(得分:0)

我终于有时间隔离了这个。似乎telerik radtextboxes是罪魁祸首。

如果我用常规文本框替换它们,我会得到预期的行为。