[SOLVED] Get the value of the selected item in a dropdownlist (DataSource)

Issue

I just created a dropdownlist and I’m trying to get the value of the selected item in particular the value isActive.
This DropDownList is built with a dataTable. How to get the value?

I based myself on the following document : https://docs.microsoft.com/fr-fr/dotnet/api/system.web.ui.webcontrols.dropdownlist?view=netframework-4.8

Thanks in advance.

 if (!PostBack) {

    this.ddlList.DataSource = CreateDataSource(this.List);
    this.ddlList.DataTextField = "Name";
    this.ddlList.DataValueField = "value";
    this.ddlList.DataBind();
 }


 ICollection CreateDataSource(List<Vendor> vendorList)
    {
        DataTable dt = new DataTable();

        dt.Columns.Add(new DataColumn("Name", typeof(string)));
        dt.Columns.Add(new DataColumn("Value", typeof(string)));
        dt.Columns.Add(new DataColumn("IsActive", typeof(bool)));

        foreach (var item in List)
        {
            dt.Rows.Add(CreateRow(item.DisplayName, item.Value, item.IsActive, dt));
        }
        DataView dv = new DataView(dt);
        return dv;
    }

  
    DataRow CreateRow(string Name, string Value, bool IsActive, DataTable dt)
    {    
        DataRow dr = dt.NewRow();
                    
        dr[0] = Name;
        dr[1] = Value;
        dr[2] = IsActive;

        return dr;
    }

Solution

var test = (DataView)this.ddlList.DataSource;
var test2 = test[i].Row["nameOfRow"]; //i is the index of the line 
                             

Answered By – BigBenne

Answer Checked By – Clifford M. (BugsFixing Volunteer)

Leave a Reply

Your email address will not be published. Required fields are marked *