2

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

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

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

protected override void Render(HtmlTextWriter writer)
        {
            Page.ClientScript.RegisterForEventValidation(DropDown1.UniqueID, "1");
            Page.ClientScript.RegisterForEventValidation(Dropdown2.UniqueID, "2");

            base.Render(writer);
        }

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

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

无效的回发或回调参数。使用配置或页面中的 <%@ 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

4

0 回答 0