问题标签 [eventvalidation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 无效的回发或回调参数。仅在图像按钮的情况下获取
我收到以下错误:
无效的回发或回调参数。
<pages enableEventValidation="true"/>
使用配置或页面启用事件验证<%@ Page EnableEventValidation="true" %>
。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用 ClientScriptManager.RegisterForEventValidation 方法注册回发或回调数据以进行验证。
我有一个ImageButton
这样的Repeater
:
当我点击这个ImageButton
时,它会导致该错误。
但是当我尝试LinkButton
代替时ImageButton
,它工作正常。我试过以下LinkButton
:
请给我一个解决方案,为什么我只在ImageButton
.
asp.net - RegisterforEventValidation 后.net ListView eventValidation 错误
我定义了以下列表视图
我还定义了一个 DataPager
然后,由于我将 enableEventValidation 设置为 true,因此我也注册了该项目
我的初始页面加载运行良好,但是当我单击页面导航时,我被发送到代码隐藏并在收到错误之前通过 page_load
无效的回发或回调参数。使用配置或页面中的 <%@ Page EnableEventValidation="true" %> 启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用 ClientScriptManager.RegisterForEventValidation 方法注册回发或回调数据以进行验证。
我只是不明白为什么在我注册了这两个项目以进行事件验证后,我仍然会收到错误消息。我什至从未参加过 RaiseCallbackEvent!
我完全是这些控件的新手,也绝不是 .net 专家。任何帮助或建议将不胜感激!
c# - POST 请求的服务器应答 - 无效的回发或回调参数
我目前正在开发一种工具来获取和解析外部网站(不是我的)的一些内容。我不会粘贴代码,因为我认为它不会带来任何东西,但是如果您认为它有用,我会这样做。
以下是我的工具的主要步骤:
- 使用常规的 webrequest/webresponse 获取网页。
- 解析网页就知道应该解析多少页(解析的网页是研究成果,所以可以提供多页的结果)
- 由于常规浏览器中的页面更改是通过提交表单完成的,因此我确实通过解析网页来检查此表单的所有 POST 参数(隐藏)。
- 使用这些参数创建 POST 请求
- 使用 WebClient 和 UploadString() 方法将 POST 请求发送到服务器。
不幸的是,最后一部分不起作用并抛出 500 错误Invalid postback or callback argument. Event validation is enabled using ...
如果它可以帮助,在表单的隐藏参数中,存在一个名为的参数EventValidation
,我确实将它提供给 POST 请求。
也许有人可以知道发生了什么,因为我对asp不太熟悉。请原谅我的英语错误
c# - 在 C# 中访问 __VIEWSTATE 和 __EVENTVALIDATION
在ASP.NET中,是否可以将 __VIEWSTATE 和 __EVENTVALIDATION 隐藏字段的值放入 C#(服务器端)中的变量中,比如说覆盖该Render
方法?
我努力了:
这给了我整个 ASP.NET 输出。我们可以通过使用字符串函数来获取值,但我发现它不是一个非常干净的解决方案。有一个更好的方法吗?
我真正想要的是 __VIEWSTATE 和 __EVENTVALIDATION 的值是在发出第一个请求时而不是在回发完成后。那是在发出第一个请求时形成输出流的时间。
jquery - 将项目从一个 ListBox 移动到另一个并在 ListBox 中获取项目
我有一个 ASP.NET 向导控件。第二步,我有两个 ListBox;页面加载时从服务器填充第一个 ListBox 项。
然后用户从 ListBox1 中选择数据并将其移动到 ListBox2。然后,用户单击向导的下一步按钮。不知何故,当用户单击下一步时,ListBox2 为空。
我使用 jQuery 将数据从 ListBox1 移动到 ListBox2。
asp.net - 当 EnabledEventValidation 开启时,Firefox 中出现无效的 ViewState 错误
我有一个稳定的错误,每次我按F5时都会重现:
有 2 个网格(主详细信息),当主网格上发生焦点行更改事件时,错误实际上发生在我的客户端代码引发的回调中。像这样的东西:
该错误仅在Mozilla firefox中重现!(是的,IE没有问题,这有点奇怪 =))
并且非常重要的事情:该错误仅在事件验证开启时重现,即:
我建议原因是回调在加载必要的字段之前被触发(据我所知,事件验证使用一些隐藏字段),所以我检查了使用setTimeout
:
但是tat没有帮助。2 秒过去了,回调开始,我收到错误。它仅在刷新时发生 - 第一次加载页面时不会引发错误。禁用网格的行缓存也没有帮助。需要帮助!=))
编辑:这里是 StackTrace
Edit2: ' EnsureEventValidationFieldLoaded ' - 是的,我明白这一点,但是......如果我等待 2 秒,它怎么可能无法加载???
Edit3:您可能会注意到这不是IIS问题(屏幕截图上的 127.0.0.1 ip)。
编辑:上!!!
javascript - 用户控件中的 RegisterStartupScript 导致事件验证错误
对于附加到简单按钮单击事件的用户控件,我在后面的代码中有以下代码。如何避免导致无效回发?它产生一个事件验证错误。
asp.net - 当 .NET 4.5 Framework 仅安装在负载平衡器后面的一台服务器中时,ASP.NET EventValidation 失败
我们在其中一台 Web 服务器中安装了 .net 4.5 Framework。我们的应用程序针对 .net 4.0 并在负载均衡器后面运行多个服务器。
安装后,我们收到一些 POST 请求的以下错误消息
error_name=System.ArgumentException error_message=回发或回调参数无效。使用配置或页面中的 <%@ Page EnableEventValidation="true" %> 启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用 ClientScriptManager.RegisterForEventValidation 方法注册回发或回调数据以进行验证。error_details=来源:System.Web
当从安装 .net 4.5 的服务器请求时,请求正文中的 __EVENTVALIDATION 值不同。MSDN 提到 .net 4.5 中的密码学更改使用 opt in 配置,因此默认情况下它应该是向后兼容的。
是否有配置更改,在不禁用事件验证的情况下,我需要做 _EVENTVALIDATION 在安装 .net 4.5 的机器上的行为与仅在 .net 4.0 上的行为相同?
c# - 反序列化 EventValidation 对象
我正在尝试序列化和反序列化事件验证存储。我已经使用 MSDN 上的代码对视图状态执行相同的操作。我似乎无法从 EventValidation 对象中获取数据。
System.Web.UI.EventValidationStore 是对象类型(?)
我曾尝试使用哈希集、列表等。我对此并不陌生,这超出了我所知道的范围,但我很想学习它。
我得到的错误是:“foreach 语句不能对 'object' 类型的变量进行操作,因为 'object' 不包含 'GetEnumerator' 的公共定义”
我在 MSDN 上找不到任何关于 System.Web.UI.EventValidationStore 的信息。
如果这是一个令人困惑的帖子,我深表歉意,我只是不知道如何问它。
更新: 我成功反序列化了一个 EventValidation base64 字符串,但其他人被证明是难以捉摸的。代码段中的那个似乎不起作用。
摘要:我需要能够在 .NET 中对 eventvalidation base64 字符串进行解码/反序列化和编码/序列化。
c# - 从 JavaScript 编辑选择列表时如何通过事件验证
我的 ASP.NET 站点中有两个选择列表,由服务器填充了一些元素。
由于现在解释的原因太复杂,我还需要用 JavaScript 修改选择列表的选项,添加一些值。
当然,一旦我将表单发送回服务器(无论是通过提交还是作为来自其他一些表单元素的 PostBack AutoPostBack="true"
),这将搞乱 Even Validation。
无效的回发或回调参数。使用配置或页面中的 <%@ Page EnableEventValidation="true" %> 启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用 ClientScriptManager.RegisterForEventValidation 方法注册回发或回调数据以进行验证。
现在,我没有资源和预算来彻底改造整个页面设计,所以:改变下拉列表的最快和最简单的方法是什么,这并不意味着我必须重写整个东西?
以便在提交表单时我的 CodeBehind 文件可以识别通过 JavaScript 添加的值?