asp.net – 使用JavaScript重新排列的ListBox元素导致回发时出现事件验证错误
我创建了一个项目交换器控件,包含两个列表框和一些按钮,允许我在两个列表之间交换项目.交换是使用 javascript完成的.我还在列表中上下移动项目.基本上,当我将项目移动到右侧的列表框时,我将元素(GUID)的数据键存储在隐藏字段中.在回发时,我只是从字段中读取GUID.一切都很好,但在回发后,我得到以下异常:
我准备了一个测试应用程序.您所要做的就是下载存档并运行项目.在网页上选择3项,按全部添加,然后将第三个元素向上移动一级,然后点击“按钮”.错误将显示出来.关闭事件验证绝不是可以接受的.任何人都可以帮助我,我已经花了两天没有找到解决方案. TEST APPLICATION 解决方法问题是列表的已保存视图状态和回发时收到的数据不匹配.事件验证问题很可能只是由于这种方法可能出现的问题之一. webforms的体系结构不允许这种用途,并且很可能,即使您成功避免了事件验证问题,这种方法也会遇到更多问题.你有几种选择:1)最简单的是在服务器上进行交换逻辑而不是使用javascript.这样,视图状态将在回发之间保留,并且多次往返服务器的额外开销可能不是问题. 2)如果多次往返服务器是一个问题,请编写一个服务器控件来处理它自己的视图状态.这当然是一种非常吸引人的方法. 3)中间地面方法可以是使用两个简单的html列表(只需编写html标签而不使用asp.net控件),并在客户端维护javascript中隐藏字段中的id列表.在post back上只需解析隐藏字段并提取id忽略html列表. 如果没有针对它的严重论据,我会选择1. (编辑:鲜蔬坊站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-4 – ASP.NET MVC 4通过ActionLink传递对象变量
- ASP.Net MVC cookies – 防篡改?
- 在ASP.NET中拒绝用户时,’CustomIdentity’上的Serializati
- asp.net-mvc – 无法在Web服务器上启动调试.调试器无法连接
- Asp.Net的FileUpload类实现上传文件实例
- iCalendar格式中关于RRule的解析和生成
- asp.net – 在Web.config帮助中定义tagPrefixes
- 勾选复选框时,禁用一些ASP.Net验证控件
- ASP.Net Forms身份验证在10分钟后注销用户
- .net – RESTful WCF的裸最低配置
- MVC SessionStateAttribute不作为全局属性
- asp.net-mvc – 如何正确识别vs2008版本级别?
- 有没有办法将内部控件放在ASP.NET自定义控件中?
- 回收ASP.NET应用程序是否会激起用户的兴趣?
- asp.net-mvc – 将viewdata传递给asp.net mvc ma
- asp.net – @ Url.Action在控制器中创建空值的参
- asp.net后台cs中的JSON格式变量在前台Js中调用方
- asp.net-mvc – 如何在扩展方法中使用HTML帮助器
- asp.net-mvc – 路由是在我的区域中找到控制器,但
- asp.net-mvc – ASP.NET MVC查看引擎解析顺序