Solved

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

Posted on 2011-03-03
2
694 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

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

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

Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
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.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

816 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

13 Experts available now in Live!

Get 1:1 Help Now