asp.net C 使用JavaScript重新排列的ListBox元素导致回发时出现事件验证错误
javascript完成的.我还在列表中上下移动项目.基本上,当我将项目移动到右侧的列表框时,我
我创建了一个项目交换器控件,包含两个列表框和一些按钮,允许我在两个列表之间交换项目.交换是使用 javascript完成的.我还在列表中上下移动项目.基本上,当我将项目移动到右侧的列表框时,我将元素(GUID)的数据键存储在隐藏字段中.在回发时,我只是从字段中读取GUID.一切都很好,但在回发后,我得到以下异常: Invalid postback or callback argument. Event validation is enabled using in configuration or <%@ Page EnableEventValidation=”true” %> in a page. For security purposes,this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected,use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation. 我准备了一个测试应用程序.您所要做的就是下载存档并运行项目.在网页上选择3项,按全部添加,然后将第三个元素向上移动一级,然后点击“按钮”.错误将显示出来.关闭事件验证绝不是可以接受的.任何人都可以帮助我,我已经花了两天没有找到解决方案. TEST APPLICATION 解决方法 问题是列表的已保存视图状态和回发时收到的数据不匹配.事件验证问题很可能只是由于这种方法可能出现的问题之一. webforms的体系结构不允许这种用途,并且很可能,即使您成功避免了事件验证问题,这种方法也会遇到更多问题.你有几种选择:1)最简单的是在服务器上进行交换逻辑而不是使用javascript.这样,视图状态将在回发之间保留,并且多次往返服务器的额外开销可能不是问题. 2)如果多次往返服务器是一个问题,请编写一个服务器控件来处理它自己的视图状态.这当然是一种非常吸引人的方法. 3)中间地面方法可以是使用两个简单的html列表(只需编写html标签而不使用asp.net控件),并在客户端维护javascript中隐藏字段中的id列表.在post back上只需解析隐藏字段并提取id忽略html列表. 如果没有针对它的严重论据,我会选择1. (编辑:十堰站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET缓存管理的几种方法
- asp.net C MVC4 C ContextDependentView C 这是什
- asp.net-mvc-3 – 如何从ASP.NET MVC#输出中删除
- 有没有办法加快asp.net中的编辑 – 编译 – 调试
- asp.net-mvc – 根据浏览器接受语言自动设置uiCu
- asp.net-web-api – 在WebApi OData中为OData服务
- ASP.NET – 可以从服务器代码触发回发吗?
- ASP.NET linkbutton两次提高onBeforeUnload事件
- asp.net 无刷新分页实例代码
- asp.net-mvc C ASP.NET MVC会话超时,绝对还是滑动
- asp.net-core C 如何使用ASP.NET注册OData
- asp.net C MVC4 C ContextDependentView C
- asp.net-mvc-3 C 如何从ASP.NET MVC#输出中
- asp.net-mvc C 已经使用相同的参数类型定义
- ASP.Net C AJAX UpdatePanel中的Javascript
- asp.net-mvc C ASP.NET MVC中的WebApi [Fro
- asp.net-mvc C 使用AD的ASP.NET MVC表单Aut
- asp.net C 适用于多个用户的EWS通知中心
- asp.net-mvc C 未在ELMAH中记录的错误
- asp.net-mvc C MVC应用程序中的随机数生成