2013-05-26 38 views
1

當我在ASP.NET 4.5/Visual Studio 2012的Login.aspx頁面啓動ASP.NET Web應用程序時,會出現用戶名和密碼文本框和登錄按鈕。ASP.NET 4.5 Web應用程序 - 用戶名/密碼文本框

當我雙擊按鈕(在VS)它創建代碼中的點擊事件。

當我嘗試使用用戶名/密碼箱是這樣的:

string username = Username.Text; 

它說用戶名(文本框)不會在目前的情況下存在。

代碼Login.aspx.designer.cs差不多空了。

namespace WebApplication2.Account 
{ 


    public partial class Login 
    { 

     /// <summary> 
     /// RegisterHyperLink control. 
     /// </summary> 
     /// <remarks> 
     /// Auto-generated field. 
     /// To modify move field declaration from designer file to code-behind file. 
     /// </remarks> 
     protected global::System.Web.UI.WebControls.HyperLink RegisterHyperLink; 

     /// <summary> 
     /// OpenAuthLogin control. 
     /// </summary> 
     /// <remarks> 
     /// Auto-generated field. 
     /// To modify move field declaration from designer file to code-behind file. 
     /// </remarks> 
     protected global::WebApplication2.Account.OpenAuthProviders OpenAuthLogin; 
    } 
} 

Login.aspx HTML

<%@ Page Title="Log in" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="WebApplication5.Account.Login" %> 
<%@ Register Src="~/Account/OpenAuthProviders.ascx" TagPrefix="uc" TagName="OpenAuthProviders" %> 

<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent"> 
    <hgroup class="title"> 
     <h1><%: Title %>.</h1> 
    </hgroup> 
    <section id="loginForm"> 
     <h2>Use a local account to log in.</h2> 
     <asp:Login runat="server" ViewStateMode="Disabled" RenderOuterTable="false"> 
      <LayoutTemplate> 
       <p class="validation-summary-errors"> 
        <asp:Literal runat="server" ID="FailureText" /> 
       </p> 
       <fieldset> 
        <legend>Log in Form</legend> 
        <ol> 
         <li> 
          <asp:Label runat="server" AssociatedControlID="UserName">User name</asp:Label> 
          <asp:TextBox runat="server" ID="UserName" /> 
          <asp:RequiredFieldValidator runat="server" ControlToValidate="UserName" CssClass="field-validation-error" ErrorMessage="The user name field is required." /> 
         </li> 
         <li> 
          <asp:Label runat="server" AssociatedControlID="Password">Password</asp:Label> 
          <asp:TextBox runat="server" ID="Password" TextMode="Password" /> 
          <asp:RequiredFieldValidator runat="server" ControlToValidate="Password" CssClass="field-validation-error" ErrorMessage="The password field is required." /> 
         </li> 
         <li> 
          <asp:CheckBox runat="server" ID="RememberMe" /> 
          <asp:Label runat="server" AssociatedControlID="RememberMe" CssClass="checkbox">Remember me?</asp:Label> 
         </li> 
        </ol> 
        <asp:Button runat="server" CommandName="Login" Text="Log in" /> 
       </fieldset> 
      </LayoutTemplate> 
     </asp:Login> 
     <p> 
      <asp:HyperLink runat="server" ID="RegisterHyperLink" ViewStateMode="Disabled">Register</asp:HyperLink> 
      if you don't have an account. 
     </p> 
    </section> 

    <section id="socialLoginForm"> 
     <h2>Use another service to log in.</h2> 
     <uc:OpenAuthProviders runat="server" ID="OpenAuthLogin" /> 
    </section> 
</asp:Content> 

爲什麼這些控件是不是在designer.cs?

我失蹤了什麼?

回答

1

聽起來像你的項目中的其他東西在構建Login.aspx.designer.cs文件時沒有正確構建。

我以前有過這個,雖然沒有在新項目的登錄頁面。

通常,我刪除設計器文件(不是Login.aspx或Login.aspx.cs),然後右鍵單擊Login.aspx並選擇「轉換爲Web應用程序」。這將嘗試使用所有正確的內容創建Login.aspx.designer.cs文件。

如果你的項目中有些東西被破壞,它會依賴於它,它會告訴你一個錯誤信息告訴你什麼是錯誤的......然後你可以修復你的項目中的底層問題,然後嘗試'轉換爲Web應用程序'選項。

希望這有助於

庫爾特

+1

謝謝,但我想重新開始新的項目,它再次爲空。試圖刪除設計師,並轉換,並再次相同。它不生成文本框的代碼。我更新了login.aspx的html代碼問題,也許這可以幫助... –

+0

表單沒有被編輯過嗎?登錄表單沒有ID屬性: – Kurt

+0

這是原始登錄表單。並且它是Visual Studio 2012. –

0

你爲什麼不試着給控制實際的「ID」屬性,而不是在AssociatedControlID =「不管」屬性?

0

有兩個明顯的問題,我可以看到:我有一個類似的問題

1)字符串的用戶名= Username.Text; 在用戶名的「n」個不大寫,但智能感知會陷入一個 2)aspx.cs文件,在第一行指的是一箇舊文件「WebApplication5」(見下文)

Login.aspx.cs

雖然在Designer.cs文件的命名空間是指WebApplication2。這導致我相信項目名稱與這兩個文件中的一個不同步。更正引用,你現在應該可以看到文件中的變量。

Login.aspx.designer.cs

命名空間WebApplication2.Account

希望幫助, -Kevin

相關問題