2010-06-18 3 views
0

J'ai fait un contrôle pop sur la page principale en asp.net 3.5 s'il vous plaît voir le code suivant:contrôle de connexion principale page pop-up à l'aide AjaxControlToolkit ne fonctionne pas

Main.master Code ASPX:

<form id="form1" runat="server"> 
<asp:ScriptManager ID="ScriptManager1" runat="server"> 
</asp:ScriptManager> 
<asp:Panel ID="Panel1" runat="server" 
style="display:none; background-color:White; width:700; 
border-width:2px; border-color:Black; border-style:solid; 
padding:20px;"> 
<table width="100%" border="0" cellpadding="2" cellspacing="5"> 
       <tr> 

        <td><asp:Label id="labMsg" runat="server" ForeColor="Red"EnableViewState="false" />      
        </td> 
       </tr> 
       <tr> 
        <td> 
         <strong>Login ID :</strong>      
         <asp:TextBox ID="txtLogin" runat="server"></asp:TextBox> 
        </td> 
       </tr> 
       <tr> 
        <td><strong>Password :</strong> 
        <asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox> 
        </td> 
       </tr> 
       <tr>     
        <td> 
         <asp:Button ID="btnOk" runat="server" Text="Sign In" onclick="Login" /> 
         <asp:Button ID="btnClose" runat="server" Text="Cancel" /> 
        </td> 
       </tr> 
     </table> 
</asp:Panel> 


     <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
      <ContentTemplate> 
      <asp:Panel ID="defaultPanel" CssClass="Default_Panel" runat="server" Visible="true"> 
      <ul><li><asp:LinkButton ID="lnkSignIn" class="last" runat="server" Visible="true" Text="sign in"></asp:LinkButton> 
          <asp:LinkButton ID="lnkSignOut" class="last" runat="server" Visible="false" Text="sign out"></asp:LinkButton> 
         </li>      
     </ul> 

       <!-- Login Pop Ajax Control Tool Kit --> 
       <ajaxToolkit:ConfirmButtonExtender ID="ConfirmButtonExtender1" 
       runat="server" TargetControlID="lnkSignIn" 
       DisplayModalPopupID="ModalPopupExtender1"> 
       </ajaxToolkit:ConfirmButtonExtender> 
       <ajaxToolkit:ModalPopupExtender ID="ModalPopupExtender1" runat="server" 
       CancelControlID="btnClose" OkControlID="btnOk" 
       PopupControlID="Panel1" 
       TargetControlID="lnkSignIn"> 
       </ajaxToolkit:ModalPopupExtender> 
       </asp:Panel>  
      </ContentTemplate> 

      </asp:UpdatePanel> 
    </form> 

Code Main.master.cs:

public void Login(object sender, EventArgs e) 
    { 


    // return "Login Successfull"; 
     labMsg.Text = "Login Successfull"; 
    } 

Problème: Lorsque vous appuyez sur le bouton de connexion [à partir de Default.aspx ou de toute autre page enfant], la méthode Login sur la page maître ne s'affiche pas. L'aide est appréciée.

+0

Où avez-vous la liaison entre la méthode de connexion et tout événement webcontrol? –

+0

Je pensais que cette méthode de connexion sera frappé une fois que l'utilisateur clique sur le bouton "btnOk" – Developer

+0

Je suis perdu. avez-vous changé le code? Maintenant, je vois la méthode de connexion assignée à btnOk. Était-il il y a 30 minutes? –

Répondre

0

j'ai réussi à résoudre le problème est ici le code:

Master.master:

  <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
       <ContentTemplate> 
        <asp:Panel ID="defaultPanel" CssClass="Default_Panel" runat="server" Visible="true"> 

         <ul id="loginLinks"> 
          <li><asp:LinkButton ID="lnkSignIn" class="last" runat="server" Visible="true" Text="sign in"></asp:LinkButton></li> 
           </ul> 

         <!-- Login Pop Ajax Control Tool Kit --> 
         <ajaxToolkit:ModalPopupExtender ID="ModalPopupExtender1" runat="server" CancelControlID="btnClose" PopupControlID="pnlSignIn" TargetControlID="lnkSignIn"></ajaxToolkit:ModalPopupExtender> 
        </asp:Panel> 
       </ContentTemplate> 
      </asp:UpdatePanel> 
      <asp:Panel ID="pnlSignIn" runat="server"> 
       <asp:UpdatePanel ID="UpdatePanel2" runat="server"> 
        <ContentTemplate> 
         <table width="100%" border="0" cellpadding="2" cellspacing="5"> 
          <tr> 
           <td style="width: 35%; padding-top: 50px;"> 
           </td> 
           <td> 
            <asp:Label ID="labMsg" runat="server" ForeColor="Red" EnableViewState="false" /> 
           </td> 
          </tr> 
          <tr> 
           <td align="right" valign="middle"> 
            <strong>Login ID :</strong> 
           </td> 
           <td> 
            &nbsp;<asp:TextBox ID="txtLogin" runat="server"></asp:TextBox> 
           </td> 
          </tr> 
          <tr> 
           <td align="right" valign="middle"> 
            <strong>Password :</strong> 
           </td> 
           <td> 
            &nbsp;<asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox> 
           </td> 
          </tr> 
          <tr> 
           <td> 
           </td> 
           <td> 
            <asp:Button ID="btnOk" runat="server" Text="Sign In" OnClick="btnOk_Click" /> 
            <asp:Button ID="btnClose" runat="server" Text="Cancel" /> 
           </td> 
          </tr> 
         </table> 
        </ContentTemplate> 
       </asp:UpdatePanel> 
      </asp:Panel> 

Note: 2 panneaux de mise à jour maintenant, ConfirmButtonExtender supprimé. Je ne sais vraiment pas pourquoi la méthode de connexion ne fonctionnait pas avant et comment ça marche maintenant.

Master.master.cs:

protected void btnOk_Click(object sender, EventArgs e) 
{ 
    var name = txtLogin.Text; 
    var pwd = txtPassword.Text; 

    DataSet ds = new DataSet(); 
    string userName = name; 
    string pwdBeforeConversion = pwd; 

    //Encryption of pasword 
    SHA1CryptoServiceProvider x = new SHA1CryptoServiceProvider(); 
    byte[] data = Encoding.ASCII.GetBytes(pwdBeforeConversion); 
    data = x.ComputeHash(data); 

    //pass the data to service, and get a return as dataset 
    try 
    { 
     somelogic here 
    } 
    catch (Exception ex3) 
    { 
     if (ex3.Message == "InvalidUsernameOrPassword") 
      labMsg.Text = "sorry user name and password could not be found"; 
     else if (ex3.Message == "EmailNotVerified") 
      labMsg.Text = "please contact ta; email is not verified"; 
     else if (ex3.Message == "AccountDisabled") 
      labMsg.Text = "please contact ta; account is not verified"; 
     else 
      labMsg.Text = "sorry we encounterd a techncal issue, please try logging in again"; 
     ModalPopupExtender1.Show(); 
     return; 
    } 

} 
Questions connexes