使用ajax,在这种情况发生之前,我将引发一个OnTextChangedEvent,有一些Javascript对输入字段执行验证检查,并根据输入字段是否有效而输出一些文本。我运行的Ajax重置了我的javascript所做的更改。这一切都是按照这样的顺序发生的:
Javascript火!
文本更改显示
Ajax开火!
文本更改重置
ajax部分自动回滚包含在更新面板中。在不给出任何代码的情况下,有没有人想到了停止javascript更改重置的方法?
随着时间的推移,我会在找到时间的时候添加代码。我想我至少能把问题提出来。谢谢你的进阶。
发布于 2011-10-10 10:42:33
文本更改是在DOM-模型中进行的,不会传输到服务器。如果ajax触发,它将覆盖javascript对DOM所做的更改。
解决方案是将验证文本传输到服务器,并通过ajax再次添加它们。
发布于 2011-10-10 10:56:29
UpdatePanel完全替换了更新上的更新面板的内容。
这意味着您订阅的那些事件不再被订阅,因为更新面板中有新的元素。
全答here
在您的页面或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>https://stackoverflow.com/questions/7711390
复制相似问题