问题标签 [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.

0 投票
1 回答
259 浏览

c# - 何时更改表单的“ViewState”?

ASP.NET每个标准表单上都有隐藏字段:__VIEWSTATE__EVENTVALIDATION. 这些字段的值何时会因特定表单而改变?

0 投票
0 回答
2462 浏览

asp.net - 更新面板“无效回发或回调参数”的事件验证问题

我是 UpdatePanel 处女,我遇到了问题。

我有 2 个下拉列表。我基本上是在尝试根据我在第一个下拉列表中选择的内容来更新第二个下拉列表的内容。在 chrome 中,这一切都很好。在 IE 中,第一次更改下拉框选择时它似乎没有做任何事情,一旦我第二次这样做,它会给出以下错误。

我已阅读我需要注册控件以进行验证。所以我尝试了以下方法。

我的两个下拉框位于用户控件中,因此我已将渲染代码放置在用户控件级别,但它似乎没有帮助。我在这里缺少一些关键的东西吗?

“/”应用程序中的服务器错误。

无效的回发或回调参数。使用配置或页面中的 <%@ Page EnableEventValidation="true" %> 启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用 ClientScriptManager.RegisterForEventValidation 方法注册回发或回调数据以进行验证。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详情:

System.ArgumentException:回发或回调参数无效。使用配置或页面中的 <%@ Page EnableEventValidation="true" %> 启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用 ClientScriptManager.RegisterForEventValidation 方法注册回发或回调数据以进行验证。

源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[ArgumentException:回发或回调参数无效。使用配置或页面中的 <%@ Page EnableEventValidation="true" %> 启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用 ClientScriptManager.RegisterForEventValidation 方法注册回发或回调数据以进行验证。]
System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId, String argument) +8656758
System.Web.UI .Control.ValidateEvent(String uniqueID, String eventArgument) +113
System.Web.UI.WebControls.DropDownList.LoadPostData(String postDataKey, NameValueCollection postCollection) +55
System.Web.UI.WebControls.DropDownList.System.Web.UI.IPostBackDataHandler.LoadPostData(String postDataKey, NameValueCollection postCollection) +13
System. Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) +327
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +878

0 投票
5 回答
25591 浏览

asp.net - 设置 ClientScriptManager.RegisterForEventValidation 方法以注册回发或回调数据以进行验证

伙计们,我在我的 asp.net 3.5 应用程序中有一个用户控件,并且我在按钮单击事件上传递了一些纯文本。按钮位于用户控件中。但是当我触发事件时,我收到以下错误;

无效的回发或回调参数。使用配置或页面中的 <%@ Page EnableEventValidation="true" %> 启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用 ClientScriptManager.RegisterForEventValidation 方法注册回发或回调数据以进行验证。

当我将 EnableEventValidation="false" 设置为 web 表单页面时。它触发事件;

但我认为将其设置为 false 不应该是一个好主意。那么,这里有什么替代方案?有错误说'使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。'但是我要在哪里注册那个东西呢?谢谢 !

另外,我在我的用户控件中使用了一些 AjaxControlToolkit 控件和一些 jquery 的东西。

0 投票
1 回答
3443 浏览

.net - 事件验证:允许 __doPostBack 用于一个控件和 *any* 参数

我正在使用

在 JavaScript 中创建 PostBack。问题是someData事先不知道,并且事件验证开始了,因为我不能ClientScript.RegisterForEventValidation 每个可能的someData.

到目前为止,我只能看到解决这个问题的两种可能性:

  1. 关闭页面的事件验证,出于安全原因不建议这样做。
  2. 不是通过事件验证传递数据,而是通过 JavaScript 将数据放在某个隐藏的文本字段中,然后调用__doPostBack. 太丑了

我错过了第三种选择吗?理想情况下,我想要类似的东西ClientScript.RegisterForEventValidationIgnoreArguments(myButton),但这样的东西不存在......

0 投票
0 回答
1360 浏览

jquery - 异常:无效的回发或回调参数。启用事件验证,由 jQuery 引起

好吧,我一直在阅读这方面的内容(实际上不在 stackOverflow 中),我有一些问题需要关于这个“旧”主题的一些建议。

首先,我要做什么?

使用 javascript 上的函数更改“onclientclick”事件的值并在同一函数中启用控件。此下拉列表使用 ajax 工具包级联扩展来填充另外两个下拉列表。然后使用 WebService 使用 jQuery AJAX 方法保存新信息。但是我有另一个提交整个 aspx 页面的按钮,然后我得到了异常“异常:无效的回发或回调参数。事件验证已启用....”

1.- 首先,简单快捷的选项是禁用 aspx 页面中的事件验证,但在我阅读之前,这不是一个好主意。

2.- 使用这个: http: //msdn.microsoft.com/en-us/library/ms223395.aspx我不太明白这些例子:(

3.- 告别用户体验,使用“经典”提交/回发方法。

我真的真的不想要数字 1 和 3。我想完全理解选项 2 并保持用户体验和 ASPX 的安全性。

我会非常感谢任何建议。谢谢你。

更新 我猜这篇文章涵盖并很好地解释了这个已知问题(或功能): http: //odetocode.com/blogs/scott/archive/2006/03/21/asp-net-event-validation-and-invalid-回调或回发参数-again.aspx

更新 2 另一个出色的帖子(在 stackoverflow 上看到):http: //johanleino.wordpress.com/2009/11/17/cascadingdropdown-casues-invalid-postback-or-callback-argument-error/

更新 3 这是导致异常的另一个原因:ASP.NET Master Page: Event Validation Error

0 投票
0 回答
436 浏览

c# - 使用 WebClient 和 EventValidation 进行回发

我们的子公司之一有一个网页。该页面已打开 EventValidation。我试过抓住它并将它作为回发值传递,但这不起作用(显然)。有什么想法(除了关闭 EventValidation)?跟会话有关系吗?通过在两个单独的调用中调用 WebClient,我是否会终止我的会话?

更新:我更喜欢使用 c#。

0 投票
0 回答
2365 浏览

asp.net - 在 GridView 中选择单元格时获取列索引

下面是我用来选择每个单元格的代码。但是,当我选择该单元格时,我需要该单元格中的数据,即 rowIndex 和 columnIndex。不幸的是,经过所有研究并尝试了其他代码..我被困在如何获取我的 gridView 中选定单元格的 columnIndex 上。

这也是我尝试过的

*我尝试使用 commandName "ColumnClick" 做一个 buttonField 。然后使用 grdResults_RowCommand 尝试获取 rowIndex 和 columnIndex 但是我得到了 enableEventValidation 错误页面。即使我有一个看起来像这样的覆盖渲染:

0 投票
1 回答
721 浏览

c# - 回发错误

我有一个网页,上面有一个网格。单击编辑时,将打开一个弹出模式窗口。在弹出模式窗口内,有一个网格,在其下方有一个下拉列表和保存按钮。当您单击保存时,所选值将插入位于模式窗口的网格中。

第一次一切正常,但是如果您已经关闭模式窗口并且碰巧再次执行该过程(单击第一个网格上的编辑>模式窗口显示>在ddl上选择一个项目>点击保存按钮)回发错误发生。我正在使用更新面板,并且我还在模态窗口内的添加按钮中添加了一个回发触发器。

第一个网格的编辑按钮中的代码(这会调用模式窗口打开)

这是模式窗口内的添加按钮中的代码(导致错误的那个):

在模态窗口上填充网格的代码:

模态弹出的 Aspx 代码。此代码位于 updatepanel 标记内。

0 投票
1 回答
454 浏览

c# - Event Validation - Is it truly necessary for Js Heavy applications

This thing is really show stopper, i've been thinking about event validation and is this really necessary. I am looking into ways to avoid event validation for building a webservice-javascript oriented page where dropdownlists are loaded based on webservice data. I could disable event validation for the page but i would like some insights(mostly how you think they might do it) as to how biggies like Google, Yahoo perform such validations. These organizations are hugely public based and use web services for almost all their services, rely heavily on ajax for making their things simpler.

How should i validate the post values in the case, event validation is disabled.

0 投票
1 回答
4620 浏览

c# - ASP.Net CascadingDropDown 和 EnableEventValidation="false"

我刚刚从 AJAX 工具包中获得了 CascadingDropDown,它使用 SelectedIndexChanged 重定向到传递所选值的查询字符串的页面。我很高兴!

但是,我只是通过将 EnableEventValidation="false" 添加到页面来使 SelectedIndexChanged 事件起作用。问题是 CascadingDropDown 将作为产品选择器放置在我网站的 MasterPage 中。

我不热衷于将 EnableEventValidation="false" 添加到我的 MasterPage!我查看了 MSDN 上的 ClientScriptManager.RegisterForEventValidation 方法,它就在我的脑海中。

最好的办法是什么?是否有使用 ClientScriptManager.RegisterForEventValidation 的简单示例?

干杯...

编辑:这是代码:

这是事件: