asp.net - How to find an item by value from a DropDownList

DropDownList FindByValue(String) Method
DropDownList server control create a single selection drop-down-list control. asp.net developers can place ListItem object between opening and closing tags of dropdownlist control to specify list items. each ListItem object represent a single item in dropdownlist. developers also can populate a dropdownlist with items by using various data source controls such as SqlDataSource, LinqDataSource, ObjectDataSource etc.

ListItem represent a data item in dropdownlist control. ListItem Text property get or set the text displayed in dropdownlist and Value property get or set the value associated with the ListItem. Value is hidden in browser.

We can find ListItem from a dropdownlist Items collection programmatically by specific ListItem value. dropdownlist Items property get the collection of items in dropdownlist. .net ListItemCollection.FindByValue method search a ListItem collection for a ListItem with a Value property that contains the specified value.

Following asp.net c# example code help you more to better understand how can you find a list item from dropdownlist using item value.
DropDownListItemFindByValue.aspx

<%@ Page Language="C#" %>

<!DOCTYPE html>

<script runat="server">
    protected void Button1_Click(object sender, System.EventArgs e)
    { 
       string searchString = TextBox1.Text.ToString();
        
       if (DropDownList1.Items.FindByValue(searchString) != null)
       {
           Label1.Text = "Item Found<br />Value: " + searchString;
           
           Label1.Text += "<br />Item Text: " + 
               DropDownList1.Items.FindByValue(searchString).Text;
       }
       else
       {
           Label1.Text ="Item not Found, Value: " + searchString;
       }
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>How to find item by value from DropDownList</title>
</head>
<body style="padding:25px">
    <form id="form1" runat="server">
    <div>
        <h2 style="color:MidnightBlue; font-style:italic;">      
            Find item by value from DropDownList
        </h2>      
        <hr width="450" align="left" color="Gainsboro" />
        <asp:Label
            ID="Label1"
            runat="server"
            Font-Bold="true"
            Font-Names="Comic Sans MS"
            ForeColor="Crimson"
            Font-Italic="true"
            Font-Size="X-Large"
            />
        <br /><br />
        <asp:Label 
            ID="Label2" 
            runat="server" 
            Text="List of asp.net controls"
            Font-Bold="true"
            ForeColor="Navy"
            Font-Size="X-Large"
            Font-Names="Courier New"
            Font-Underline="true"
            >
        </asp:Label>
        <br /><br />
        <asp:DropDownList 
            ID="DropDownList1"
            runat="server"
            BackColor="FloralWhite"
            ForeColor="DeepPink"
            Font-Names="Comic Sans MS"
            Font-Size="X-Large"
            Width="350"
            >
            <asp:ListItem Value="1">PasswordRecovery</asp:ListItem>
            <asp:ListItem Value="2">Menu</asp:ListItem>
            <asp:ListItem Value="3">SiteMapPath</asp:ListItem>
            <asp:ListItem Value="4">Repeater</asp:ListItem>
            <asp:ListItem Value="5">SqlDataSource</asp:ListItem>
        </asp:DropDownList>
        <br /><br /><br /><br /><br /><br />
        <br /><br /><br /><br /><br />
        <asp:Label 
            ID="Label3" 
            runat="server"
            ForeColor="Navy"
            Text="Item Value"
            Font-Bold="true"
            >
        </asp:Label>
        <asp:TextBox 
            ID="TextBox1"
            runat="server"
            Font-Bold="true"
            Font-Size="Large"
            Height="30"
            BackColor="Gold"
            Font-Names="Courier New"
            >
        </asp:TextBox>
        <br /><br />
        <asp:Button 
            ID="Button1" 
            runat="server"
            Text="Find In DropDownList"
            OnClick="Button1_Click"
            Font-Bold="true"
            Font-Size="Large"
            ForeColor="Navy"
            Font-Names="Monaco"
            Height="55"
            Width="350"
            />
    </div>
    </form>
</body>
</html>
More asp.net examples