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中的QR代码生成
- asp.net-mvc – 将SignalR与Azure表存储一起使用 – 什么架
- asp.net-mvc – 404处理Azure网站
- asp.net-mvc – 在哪里提出持久性依赖的域事件 – 服务,存储
- asp.net – HttpContext.Current如何工作?
- 应该将ASP.NET应用程序池设置为自动回收?
- asp.net-mvc – 单个控制器的MVC多个视图
- asp.net-mvc – asp.mvc中渲染的区别是什么
- asp.net-mvc – ASP.NET MVC:使浏览器缓存图像从动作
- asp.net-mvc – 为什么MVC4捆绑捆绑Knockout.js?
- 在ASP.NET MVC中模拟User.Identity
- asp.net – 将通用模型的子类传递给剃刀视图
- asp.net-mvc – ASP.NET MVC路由冲突 – 输入变量
- asp.net-mvc – mvc中的多个内容占位符?
- asp.net-mvc – 与Microsoft HTTP Client Librar
- asp.net-mvc – ASP.Net MVC中的自我AJAX更新部分
- asp.net – 无法返回JsonResult
- asp.net-mvc-3 – 在Razor View模型中添加一个类
- asp.net-mvc – 将隐藏文本字段附加到表单MVC
- asp.net-mvc – Ajax Request返回HTTP错误500,使
