ModalPopUpExtender внутри UpdatePanel, вызывающий PageRequestManagerServerErrorException: недопустимый аргумент обратной передачи или обратного вызова - PullRequest
0 голосов
/ 08 июня 2011

Следующий код правильно отображает всплывающее окно, но при нажатии на любую кнопку во всплывающем окне выдается ошибка (см. Ниже кода).

Я не могу включить EventValidation, так как это необходимо для других целей на странице. Как это можно решить?

<asp:UpdatePanel ID="MainUpdatePanel" runat="server" RenderMode="Inline" UpdateMode="Conditional"
ChildrenAsTriggers="false">
<ContentTemplate>
    <asp:HyperLink ID="link" runat="server"></asp:HyperLink><asp:MultiView ID="MultiViewSearchState"
        runat="server" ActiveViewIndex="0">
        <asp:View ID="ViewCommands" runat="server">
            &nbsp;<asp:Button ID="btn" runat="server" Text="Select" OnClick="btn_Click" />&nbsp;<asp:Button
                ID="ButtonClear" runat="server" Text="Clear" OnClick="ButtonClear_Click" />
        </asp:View>
        <asp:View ID="ViewSearch" runat="server">
            <asp:Panel runat="server" ID="pnlMain" CssClass="modalPopup" EnableViewState="false">
                <asp:Button ID="ButtonCancel" runat="server" Text="Cancel" OnClick="ButtonCancel_Click" />
                <dyncontrols:SearchControl runat="server" ID="searchControl" ExecuteSearch="false" />
            </asp:Panel>
            <input type="hidden" id="popupDummyTarget" runat="server" />
            <ajaxToolkit:ModalPopupExtender ID="popUpControl" runat="server" TargetControlID="popupDummyTarget"
                PopupControlID="pnlMain" BackgroundCssClass="modalBackground">
            </ajaxToolkit:ModalPopupExtender>
        </asp:View>
    </asp:MultiView>
</ContentTemplate>

Ошибка, отображаемая в отладчике Internet Explorer:

SCRIPT5022: Sys.WebForms.PageRequestManagerServerErrorException: Invalid postback or callback argument.  Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.  For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.  If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation. 

1 Ответ

0 голосов
/ 08 июня 2011

Я бы не думал, что ваш ModalPopupExtender должен быть внутри вашего UpdatePanel.

Попробуйте переместить его наружу и посмотрите, все ли еще появляется ошибка.

...