кнопка внутри панели обновления вызывает нежелательную полную обратную передачу - PullRequest
0 голосов
/ 05 августа 2009

Я делаю восстановление утерянного пароля на своей странице входа в систему и делаю это с ModalPopUpExtender, Panel и двумя из них внутри UpdatePanel. Но почему-то при нажатии на «btnOkPassRequest» происходит полная обратная передача. У людей были похожие проблемы с другими элементами управления, некоторые из которых UpdatePanel явно не инкапсулировали. Но никогда с кнопкой. Чего мне не хватает?

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager><asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>  
    <asp:HyperLink ID="HyperLink2" runat="server">HyperLink</asp:HyperLink>
    <cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server"TargetControlID="HyperLink2" BackgroundCssClass="ModalPopupBG" PopupControlID="pnlPopupPass" CancelControlID="btnCancelPassRequest" OkControlID="Button1"></cc1:ModalPopupExtender>
    <asp:Panel ID="pnlPopupPass" runat="server" CssClass="ModalPopup">   
      <div class="ModalHeader">Password recovery</div>
      <div class="ModalBody">
        <p>Please, enter username.....</p>
        <table>
        <tr>
                <td>Username</td>
                <td><asp:TextBox ID="tbModalUserName" runat="server" class="textbox"></asp:TextBox></td>            
            </tr>
          </table>
        <table>
            <tr>
          <td></td>
            <td><asp:Button ID="btnOKPassRequest" runat="server" Text="Request new password" CssClass="button-wide" onclick="btnOKPassRequest_Click" PostBackUrl="~/Login.aspx" /></td>
            <td><asp:Button ID="btnCancelPassRequest" runat="server" Text="Cancel" CssClass="button-wide"/></td>
            </tr>
        </table>        
      </div>
    <asp:Button ID="Button1" runat="server" Text="Button" />
    </asp:Panel>
</ContentTemplate>
<Triggers>
    <asp:AsyncPostBackTrigger ControlID="btnOKPassRequest" EventName="btnOKPassRequest_Click" />
</Triggers>

Ответы [ 3 ]

2 голосов
/ 05 августа 2009

Я думаю, что EventName должен быть просто «Click», а не «btnOKPassRequest_Click» в триггере

1 голос
/ 05 августа 2009

Вы уверены, что это должно быть там?

 PostBackUrl="~/Login.aspx"

Как и без этого у меня все нормально работает.

Я также удалил триггер, но если вам нужен триггер, тогда EventName должен быть Click.

<asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:HyperLink ID="HyperLink2" runat="server">HyperLink</asp:HyperLink>
            <asp:Panel ID="pnlPopupPass" runat="server" CssClass="ModalPopup">
                <div class="ModalHeader">
                    Password recovery</div>
                <div class="ModalBody">
                    <p>
                        Please, enter username.....</p>
                    <table>
                        <tr>
                            <td>
                                Username
                            </td>
                            <td>
                                <asp:TextBox ID="tbModalUserName" runat="server" class="textbox"></asp:TextBox>
                            </td>
                        </tr>
                    </table>
                    <table>
                        <tr>
                            <td>
                            </td>
                            <td>
                                <asp:Button ID="btnOKPassRequest" runat="server" Text="Request new password" CssClass="button-wide"
                                    OnClick="btnOKPassRequest_Click" />
                            </td>
                            <td>
                                <asp:Button ID="btnCancelPassRequest" runat="server" Text="Cancel" CssClass="button-wide" />
                            </td>
                        </tr>
                    </table>
                </div>
                <asp:Button ID="Button1" runat="server" Text="Button" />
            </asp:Panel>
        </ContentTemplate>
    </asp:UpdatePanel>
0 голосов
/ 25 декабря 2009

На самом деле проблема исчезла, когда я переключился на ajaxcontroltoolkit v1 вместо 3.5, что действительно сбивает с толку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...