1

我有一个通过 mojoportal 显示的 Web 用户控件。我有一个 if 条件来检查 IsPostback 并相应地隐藏元素。我还有一个更新面板,它根据 RadiobuttonList 的选定值显示或隐藏一个复选框

现在的问题是当我使用更新面板时,我必须禁用 IsPostback 否则我会遇到异常

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

我怎样才能做到这一点?第一次提交或加载表单后,我需要隐藏元素。

4

1 回答 1

0

当您的控件中的值在其原始状态和回发之间存在差异时,就会发生这种情况。解决此问题的快速简便的方法是将其添加到您的页眉中:

 EnableEventValidation = "False"

IE:

<%@ Page Language="VB" AutoEventWireup="false" Inherits="myPage" Codebehind="MyPage.aspx.vb" EnableEventValidation="false"  MasterPageFile="~/Site.Master" %>

但这为了简单而牺牲了安全性。如果安全不是问题,这将起作用。否则,您需要找出导致此问题的控件,并将其注册以进行回发,如下所示:

     ScriptManager.GetCurrent(Page).RegisterAsyncPostBackControl(Me.myControl)
于 2013-03-27T15:07:31.100 回答