(Using Membership ObjectDataSource From MSDN Article)

I’m doing a project where I have lots of DropDownList’s on a page and want a simple way to set the initial values based on some known value.  The DropDownLists are retrieved using ObjectDataSource but I don’t want the first value displayed.  I wrestled some with how to do this using page_load or page_prerender but didn’t come up with good solutions.  I did finally
decide that programming the databound event of the dropdownlist was probably the best way to go.

The solution is pasted below.  The MembershipUtilities.MembershipODS c# code can be downloaded from MSDN or on my web site at the following location. 

http://peterkellner.net/2006/01/09/microsoft-aspnet-20-memberrole-management-with-iis/.

<%@ Page Language=”C#” %>
<!DOCTYPE html PUBLIC-//W3C//DTD XHTML 1.0 Transitional//EN”

  “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>

<script runat=”server>
    protected void DropDownListUser_DataBound(object sender, EventArgs e)

    {
        DropDownListUser.SelectedIndex =
          DropDownListUser.Items.IndexOf
          (DropDownListUser.Items.FindByValue(Context.User.Identity.Name));
    }
</script>
 
<html xmlns=”http://www.w3.org/1999/xhtml>
<head runat=”server>
    <title>DropDownList Initialize</title>
</head>
<body>
    <form id=”form1runat=”server>
    <div>
        <asp:DropDownList ID=”DropDownListUserrunat=”serverDataSourceID=”ObjectDataSourceUserDataTextField=”UserNameDataValueField=”UserNameOnDataBound=”DropDownListUser_DataBound>
        </asp:DropDownList>
        <asp:ObjectDataSource ID=”ObjectDataSourceUserrunat=”serverSelectMethod=”GetMembersTypeName=”MembershipUtilities.MembershipUserODS>
            <SelectParameters>
                <asp:Parameter Name=”sortDataType=”String/>
            </SelectParameters>
        </asp:ObjectDataSource>
    </div>
    </form>
</body>
</html>