gpt4 book ai didi

javascript - Asp .NET HiddenField 导致无效的回发或回调参数

转载 作者:行者123 更新时间:2023-11-28 06:58:29 27 4
gpt4 key购买 nike

我正在开发一个带有隐藏字段的 Asp .net Web 表单,该字段应该具有一些值,该隐藏字段的目的是将值从客户端脚本传递到服务器,以便客户端脚本将值放置在该字段中,并且触发回发:

<asp:HiddenField ID="MyHiddenField" ClientIDMode="Static" runat="server" />
<asp:CheckBox ID="dummy" ClientIDMode="Static" AutoPostBack="true" runat="server" Style="display: none" />

该复选框的目的是帮助触发回发:

if ($('#MyHiddenField').val() == '') {
$('#MyHiddenField').val(SomeValue);
//do post back:
$('#dummy').click();
}

服务器将从隐藏字段带来的值存储在Session中,并将其传递给隐藏字段(如果存在):

if (MyHiddenField.Value != "")
{
if (Session["c"] == null)
Session.Add("c", MyHiddenField.Value);
}
else if (Session["c"] != null)
MyHiddenField.Value = Session["c"].ToString();

现在我在回发后随机请求时收到此服务器错误

Invalid postback or callback argument

堆栈跟踪显示隐藏字段是问题所在:

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

隐藏字段如何导致这个错误的回调参数?为什么我会收到此异常?

最佳答案

而不是调用一些虚拟控件。您可以调用 doPostBack 函数

if ($('#MyHiddenField').val() == '') {
$('#MyHiddenField').val(SomeValue);
//do post back:
__doPostBack();

}

在服务器端页面加载方法中添加以下代码

ClientScript.GetPostBackEventReference(this, string.Empty);

关于javascript - Asp .NET HiddenField 导致无效的回发或回调参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32360994/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com