DropDownList1在当前上下文中不存在

时间:2013-11-24 14:06:24

标签: c# asp.net .net visual-studio

我在DropDownList1页面的ASP.Net项目中添加了Default.aspx,我在Default.cs中有以下代码:

if(DropDownList1.SelectedItem.ToString()=="")

我收到了这个错误:

  

错误2当前上下文中不存在名称“DropDownList1”

编辑: 在* .cs:

    protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
        {

           string username = Login1.UserName;
            string pwd = Login1.Password;


            var connstring = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString; ;
            var conn = new SqlConnection(connstring);
            conn.Open();
            SqlCommand command;
         if(DropDownList1.SelectedItem.ToString()=="")
             command = new SqlCommand("Select [ID] from [Inspector] WHERE [ID] =" + username + " AND [Password] ='" + pwd + "';", conn);

            SqlDataReader dr = command.ExecuteReader();
            if (dr.Read())
            {
                if (dr[0].ToString() == username)
                {
                    Session["UserAuthentication"] = username;
                    Session.Timeout = 1;
                    Response.Redirect("MainInspector.aspx");
                }
                else
                {
                    Session["UserAuthentication"] = "";
                }
            }
}

在* .aspx中:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeFile="Default.aspx.cs" Inherits="_Default" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent" >
    <style type="text/css">
        .style1
        {
            height: 26px;
        }
    </style>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent" >
    <h2>
        الصفحة الرئيسية</h2>
    <p>
        الرجاء تسجيل الدخول:</p>
    <p>
        &nbsp;<asp:Login ID="Login1" runat="server" 
            FailureText="لم يتم تسجيل دخولك، الرجاء المحاولة ثانية." 
            LoginButtonText="تسجيل الدخول" onauthenticate="Login1_Authenticate" 
            PasswordLabelText="كلمة المرور:" RememberMeText="تذكرني في المرات القادمة" 
            TitleText="نسترعي إنتباهك أن كلمة المرور حساسة لحالة الأحرف" 
            UserNameLabelText="رقم الهوية:">
            <LayoutTemplate>
                <table cellpadding="1" cellspacing="0" style="border-collapse:collapse;">
                    <tr>
                        <td>
                            <table cellpadding="0">
                                <tr>
                                    <td align="center" colspan="2">
                                        نسترعي إنتباهك أن كلمة المرور حساسة لحالة الأحرف</td>
                                </tr>
                                <tr dir="rtl">
                                    <td align="right">
                                        <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">رقم الهوية:</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" class="style1">
                                        <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">كلمة المرور:</asp:Label>
                                    </td>
                                    <td class="style1">
                                        <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">

                                        تسجيل الدخول بوصفك:<br />

                                        <asp:CheckBox ID="RememberMe" runat="server" Text="تذكرني في المرات القادمة" />
                                        <br />
                                    </td>
                                </tr>
                                <tr>
                                    <td align="center" colspan="2" style="color:Red;">
                                        <asp:Literal ID="FailureText" runat="server" EnableViewState="False"></asp:Literal>
                                        <br />
                                    </td>
                                </tr>
                                <tr>
                                    <td align="right" colspan="2">
                                        <asp:Button ID="LoginButton" runat="server" CommandName="Login" 
                                            Text="تسجيل الدخول" ValidationGroup="Login1" />
                                        <asp:DropDownList ID="DropDownList1" runat="server">
                                            <asp:ListItem>فاحص</asp:ListItem>
                                            <asp:ListItem>مُدرب</asp:ListItem>
                                            <asp:ListItem>مُتدرب</asp:ListItem>
                                        </asp:DropDownList>
                                    </td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                </table>
            </LayoutTemplate>
        </asp:Login>
    </p>
</asp:Content>

3 个答案:

答案 0 :(得分:2)

您需要检查您的标记以确认ID匹配即

<asp:DropDownList id="DropDownList1".....

如果它是一个Web应用程序,那么designer.cs文件可能会搞乱,因为它中有引用。

这样的事情:

    protected global::System.Web.UI.WebControls.DropDownList DropDownList1;

如果缺少,请尝试添加以上内容。

答案 1 :(得分:0)

当.aspx页面(或.ascx控件)中的标记格式不正确时,可能会出现此类错误。如果标记错误,当您添加新控件时,其声明不会添加到设计器文件中并导致此错误。

如果是这种情况,解决此问题的一个常见技巧是剪切并粘贴控件的标记。这样,您重新添加控件并使Visual Studio在设计器文件中重新添加控件的声明。

答案 2 :(得分:0)

DropDownList1在当前上下文中不存在

我的解决方案是将DropDownList放在LoginView之外。

尝试将DropDownList移动​​到页面的另一部分,看看是否有效。