Solved

Can't get DropDown in place of username textbox to work in login control (ASP.Net)

Posted on 2011-03-03
2
692 Views
Last Modified: 2013-12-20
Hello All!

I am working on a project where usernames can be easily misspelled. As such, after assessing the security risks, we have decided to implement a dropdownlist in the Login control of our membership interface. The problem is it does not want to work! I keep getting the following application error: "BC30451: 'LoginUser' is not declared. It may be inaccessible due to its protection level."

Below is my code in the snippets. First is the ASP.Net form and second is the VB Code Behind! Anyone have any ideas?
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Web.Security
Imports System.Security.Permissions

Partial Class Login
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            Dim UsersList As DropDownList = TryCast(LoginUser.FindControl("UsersList"), DropDownList)
            UsersList.DataSource = Membership.GetAllUsers()
            UsersList.DataBind()
        End If
    End Sub
    Protected Sub UserSelected(ByVal sender As Object, ByVal e As EventArgs)
        LoginUser.UserName = TryCast(sender, DropDownList).SelectedValue
    End Sub
End Class

Open in new window

<asp:Login ID="Login1" runat="server" style="margin-left:auto; margin-right:auto;"
                                DestinationPageUrl="~/PortalSys/PortalHome.aspx" Width="336px">
                                <LayoutTemplate>
                                    <table border="0" cellpadding="1" cellspacing="0" 
                                        style="border-collapse:collapse;">
                                        <tr>
                                            <td>
                                                <table border="0" cellpadding="0" style="width:336px;">
                                                    <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:DropDownList ID="UsersList" runat="server" AppendDataBoundItems="true" AutoPostBack="true"
                                                                DataTextField="UserName" DataValueField="UserName" OnSelectedIndexChanged="UserSelected">
                                                                <asp:ListItem Text="-- select user name --" Value="">
                                                                </asp:ListItem>
                                                            </asp:DropDownList>
                                                            <br />
                                                            <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" />
                                                        </td>
                                                    </tr>
                                                </table>
                                            </td>
                                        </tr>
                                    </table>
                                </LayoutTemplate>
                            </asp:Login></form>

Open in new window

0
Comment
Question by:johnofthemount
2 Comments
 
LVL 13

Accepted Solution

by:
gamarrojgq earned 500 total points
ID: 35032640
Hi,

According to your aspx page, your  LOGIN controld ID = "Login1", so what is LoginUser?
0
 

Author Comment

by:johnofthemount
ID: 35032746
That makes perfect sense. I had another user on another forum proved me with the methods to accomplish this and of course, I always seem to overlook the simplest thing! Thanks a lot!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Cannot upload files above 1mb IIS7 11 39
Syntax Error 2 48
Interview questions for support of a legacy ASP.NET site 4 40
Problem to With line 4 43
Transparency shows that a company is the kind of business that it wants people to think it is.
In this article, you will read about the trends across the human resources departments for the upcoming year. Some of them include improving employee experience, adopting new technologies, using HR software to its full extent, and integrating artifi…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now