2009-08-05 73 views
0

我在登录页面上丢失了密码恢复,而我正在使用ModalPopUpExtender,Panel和UpdatePanel中的其中两个进行此操作。但不知何故,当点击“btnOkPassRequest”完整回发时。人们与其他控件有类似的问题,有些UpdatePanel显然没有封装。但从来没有一个按钮。我错过了什么?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> 

回答

0

其实这个问题dissapeared当我切换到ajaxcontroltoolkit V1,而不是使用3.5,这实在是令人困惑

2

我觉得在触发

+0

固定。它在那里是一种绝望的尝试。 Se还对Nick Clarke的评论。任何其他想法? Thanx – 2009-08-05 12:56:04

1

你肯定这应该是有事件名称应该只是被“点击”而不是“btnOKPassRequest_Click”?

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

我有这个PostBackUrl =“〜/ Login.aspx”那里,因为页面上还有其他控件回发给其他URL。 我发现在表单标签也是一个问题,那我thaught引起了我的问题(我有需要的一项PostBackUrl =“〜/的Login.aspx来覆盖它):

但是当我删除动作=” ...”它仍然是不正常。任何其他的想法? – 2009-08-05 12:54:50

+0

只要你想的到的UpdatePanel回发到相同的URL形式/页不需要一项PostBackUrl。 是在UpdatePanel外的其他控制在你的榜样? – 2009-08-05 13:02:29

相关问题