2010-03-24 76 views
0

這是從工具箱獲取Login控件時的代碼。Asp.Net登錄控件(Visual Web Dev)

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 

     <asp:Login ID="Login1" runat="server" onauthenticate="Login1_Authenticate" 
      BackColor="#F7F7DE" BorderColor="#CCCC99" BorderStyle="Solid" BorderWidth="1px" 
      Font-Names="Verdana" Font-Size="10pt"> 
      <LayoutTemplate> 
       <table border="0" cellpadding="1" cellspacing="0" 
        style="border-collapse:collapse;"> 
        <tr> 
         <td> 
          <table border="0" cellpadding="0"> 
           <tr> 
            <td align="center" colspan="2"> 
             Log In</td> 
           </tr> 
           <tr> 
            <td align="right"> 
             <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">User Name:</asp:Label> 
            </td> 
            <td> 
             <asp:TextBox ID="UserName" runat="server" ></asp:TextBox> 
             <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" 
              ControlToValidate="UserName" ErrorMessage="User Name is required." 
              ToolTip="User Name is required." ValidationGroup="Login1">*</asp:RequiredFieldValidator> 
            </td> 
           </tr> 
           <tr> 
            <td align="right"> 
             <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">Password:</asp:Label> 
            </td> 
            <td> 
             <asp:TextBox ID="Password" runat="server" TextMode="Password"></asp:TextBox> 
             <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" 
              ControlToValidate="Password" ErrorMessage="Password is required." 
              ToolTip="Password is required." ValidationGroup="Login1">*</asp:RequiredFieldValidator> 
            </td> 
           </tr> 
           <tr> 
            <td colspan="2"> 
             <asp:CheckBox ID="RememberMe" runat="server" Text="Remember me next time." /> 
            </td> 
           </tr> 
           <tr> 
            <td align="center" colspan="2" style="color:Red;"> 
             <asp:Literal ID="FailureText" runat="server" EnableViewState="False"></asp:Literal> 
            </td> 
           </tr> 
           <tr> 
            <td align="right" colspan="2"> 
             <asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="Log In" 
              ValidationGroup="Login1" onclick="LoginButton_Click" /> 
            </td> 
           </tr> 
          </table> 
         </td> 
        </tr> 
       </table> 
      </LayoutTemplate> 
      <TitleTextStyle BackColor="#6B696B" Font-Bold="True" ForeColor="#FFFFFF" /> 
     </asp:Login> 

    </div> 
    </form> 
</body> 
</html> 

部分我aspx.cs的

protected void LoginButton_Click(object sender, EventArgs e) 
{ 
    String sUserName = UserName.Text; 
    String sPassword = Password.Text; 

錯誤1名「用戶名」不會在目前情況下存在
錯誤2名「密碼」並不在當前的背景下存在 錯誤3'ASP.default_aspx'不包含'Login1_Authenticate'的定義,並且沒有找到接受類型'ASP.default_aspx'的第一個參數的擴展方法'Login1_Authenticate'(您是否缺少using指令或程序集引用? )

我做錯了什麼?

+0

請問您可以改進您的代碼的格式。它不適合在屏幕上的區域,因此不可能包裝不好。 – tomfanning

+0

沒關係,我修好了。 String sUserName = Login1.UserName; String sPassword = Login1.Password; – craig

回答

1

錯誤1 & 2 - 您是否應該通過Login1.UserName來限定您需要的字段,例如UserName? (我沒有檢查它,但這聽起來對我來說是正確的)

錯誤3 - 您確實需要處理身份驗證事件。控制是一個很好的捷徑,但它並沒有實際執行任何業務邏輯或執行實際邏輯。所以你需要在後面的代碼中做到這一點。 - 僅供參考,這意味着您可能需要自己在代碼隱藏文件中輸入方法定義。