Solved

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

Posted on 2011-03-03
2
699 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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

MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

Question has a verified solution.

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

International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
Read about why it is more lucrative for an IT company to participate in government projects.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…

726 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