?
Solved

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

Posted on 2011-03-03
2
Medium Priority
?
701 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 2000 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

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
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…
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…
Introduction to Processes
Suggested Courses
Course of the Month14 days, 12 hours left to enroll

771 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