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 – asp.net MVC antiorgerytoken异常RedirectT
- asp.net-mvc-3 – MVC 3不显眼的验证 – 有条件地禁用/启用
- 向.NET电子邮件添加附件
- asp.net – 如何访问Global.asax静态成员?
- asp.net – 将appsettings.production.json发布到azure上
- 我应该在ASP.NET MVC中构建我的下一个Web应用程序吗?
- 如何在ASP.NET MVC应用程序中本地化Controller名称和操作?
- 如何在asp.net应用程序中找到i / o瓶颈
- asp.net-mvc – SSL握手问题? (当时:网页挂起,只清除浏览
- asp.net – Dropzone没有绑定到模型
- asp.net-mvc – 在ASP.NET MVC 2中模板化Html.Di
- ASP.NET Web API,Web服务发现和客户端创建
- asp.net – axd和ashx处理程序之间的区别
- asp.net-mvc – 使用Entity FrameWork保存更改/更
- 修改FCKEditor实现将图片、文件等保存到数据库
- asp.net-mvc – ASP.Net [HiddenInput]数据属性在
- asp.net – 我可以通过编程方式禁用更新面板吗?
- asp.net – 请求在IIS工作进程中存在于RequestAc
- 一个简答的Access下的分页asp.net代码
- asp.net-mvc – MVC4区域和表单认证