[英]Why I don't have any changes in my ObservableCollection when I have made some in my DataGrid?
[英]Ajax removes any changes made my javascript
我使用ajax导致OnTextChangedEvent
发生,这之前有一些Javascript会对输入字段进行检查以进行验证,并根据其是否有效输出一些文本。 我运行的Ajax重置了我的JavaScript所做的更改。 一切按此顺序进行:
Javascript触发!
文字变更显示
阿贾克斯开火!
文字变更重设
Ajax部分自动回发包含在更新面板中。 在不提供任何代码的情况下,是否有人想出一种方法来阻止javascript更改重置?
白天,我会在发现时间的同时添加代码。 以为我至少会提这个问题。 提前致谢。
文本更改是在DOM模型中进行的,不会传输到服务器。 如果ajax触发,它将覆盖javascript对DOM所做的更改。
解决方案是将验证文本传输到服务器,然后通过ajax再次添加它们。
UpdatePanel完全替换更新中更新面板的内容 。
这意味着您订阅的那些事件不再被订阅,因为该更新面板中有新的元素。
完整答案在这里
在您的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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.