---
title: "DropDownList Selected"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/160574-dropdownlist-selected"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "thevice"
published: "2007-05-21T19:40:14.000Z"
updated: "2007-05-24T14:52:23.000Z"
replies: 13
views: 544
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/160574-dropdownlist-selected"
---

# DropDownList Selected

## #1 — thevice, 2007-05-21T19:40Z

Hej!

Jag fyller min DropDownList på detta sett:

```
System.Collections.ArrayList arrX = new System.Collections.ArrayList();

arrX.Add("A");
arrX.Add("B");
arrX.Add("C");

ddlX.DataSource = arrX;
ddlX.DataBind();
```

 

Sedan på sidan:

```
<asp:DropDownList ID="ddlX" runat="server" />
```

 

Hur gör jag för att kolla i databasen vilket värde jag har där och sedan gör t.ex B selected?

Finns det något bättre sett att fylla min dropdownlist och sedan kolla vilken som ska vara selected?

/ Timmie

Permalänk: https://www.webforum.nu/p/160574

## #2 — freguz, 2007-05-22T07:08Z

Man kan göra såhära:

```
 ListItem li;
 li = new ListItem("text", "value");
 if(CheckIfSelectedMetod("value"))
   li.Selected;
 ddl.Items.Add(li);
 ddl.DataBind();
```

Permalänk: https://www.webforum.nu/p/1979811

## #3 — P, 2007-05-22T07:09Z

...

Permalänk: https://www.webforum.nu/p/1979812

## #4 — thevice, 2007-05-22T09:59Z

Frequz blir inte det settet ganska jobbigt att göra med tanke på att jag fyller min drop downlist med ca 50 olika saker?

P: ... vad?

Permalänk: https://www.webforum.nu/p/1979864

## #5 — freguz, 2007-05-22T11:45Z

Jo jag antog att du loopar ut datat med en SqlDataReader alltså...

Permalänk: https://www.webforum.nu/p/1979887

## #6 — P, 2007-05-22T16:08Z

> **thevice skrev:**
>
> P: ... vad?

frequz hann före, om du vet vilket index det är på så kan du ju göra
ddl.SelectedIndex = 2. Vilket blir C i ditt fall.

Permalänk: https://www.webforum.nu/p/1979957

## #7 — thevice, 2007-05-22T17:23Z

Tack det löste problemet, men har ett annat problem - Databasen vägrar uppdateras!

Jag gör så här:

```
protected System.Web.UI.WebControls.DropDownList ddlX;

public void UpdateQuestions_Click(object obj, EventArgs e)
{
	using (MySqlConnection objConnection = new MySqlConnection(ConfigurationManager.AppSettings["DatabaseConnection"]))
	{
		using (MySqlCommand objCommand = new MySqlCommand("", objConnection))
		{
			objCommand.CommandText = "UPDATE tbl SET strX = ?strX WHERE intID = ?intID";
			
			objCommand.Parameters.Add(new MySqlParameter("?intID", Convert.ToInt32(Session["intID"])));
			objCommand.Parameters.Add(new MySqlParameter("?strX", Convert.ToString(ddlX.Text)));
		}
	}
}
```

```
<asp:DropDownList ID="ddlX" runat="server" />
<asp:Button ID="btnUpdate" runat="server" Text="Uppdatera!" OnClick="UpdateQuestions_Click" />
```

Jag ser inte vad jag gör för fel? Värdet setts inte in utan databas-fältet blir tomt.
Om jag däremot gör så här så uppdateras det:

```
objCommand.Parameters.Add(new MySqlParameter("?strX", Convert.ToString("Hejsan")));
```

Vad gör jag för fel?
/ Timmie

Permalänk: https://www.webforum.nu/p/1979975

## #8 — Pace, 2007-05-22T17:39Z

Du uppdaterar aldrig databasen. objCommand.ExecuteNonQuery() krävs.

Permalänk: https://www.webforum.nu/p/1979978

## #9 — thevice, 2007-05-22T17:44Z

Jag använder det, har:
objConnection.Open();
objCommand.ExecuteNonQuery();
objConnection.Close();

Efter mina Parameters, råkade visst ta bort det från koden när jag klistrade och klippte.

Permalänk: https://www.webforum.nu/p/1979981

## #10 — Pace, 2007-05-22T18:13Z

Du får visa mer kod.

Eller så kan det vara att du binder datan efter postback och därmed returnerar fel värde (kolla Page.IsPostBack).

Permalänk: https://www.webforum.nu/p/1979996

## #11 — thevice, 2007-05-22T18:22Z

Tackar if (!Page.IsPostBack) löste det!

Permalänk: https://www.webforum.nu/p/1980004

## #12 — butiko, 2007-05-22T21:59Z

Det finns en metod för att hitta ett item med ett visst värde eller text och sedan är det lätt att göra den selected:

```
ddl.Items.FindByValue(Value).Selected = true;
eller
ddl.Items.FindByText(Text).Selected = true;
```

Permalänk: https://www.webforum.nu/p/1980106

## #13 — Pace, 2007-05-22T22:56Z

> **butiko skrev:**
>
> Det finns en metod för att hitta ett item med ett visst värde eller text och sedan är det lätt att göra den selected:
>
>
> ```
> ddl.Items.FindByValue(Value).Selected = true;
> eller
> ddl.Items.FindByText(Text).Selected = true;
> ```

...vilket användes i ASP.NET 1.0 då metoden SelectedValue inte kom förrän i version 1.1. Sedermera går det att använda Text, precis som övriga textkontroller, vilken dök upp i version 2.0.

Det är därmed betydligt enklare att skriva ddl.Text = "value" (även om jag föredrar SelectedValue av semantiska skäl).

Permalänk: https://www.webforum.nu/p/1980124

## #14 — butiko, 2007-05-24T14:52Z

Ah, det var som sjutton... :)

Permalänk: https://www.webforum.nu/p/1980658

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/160574-dropdownlist-selected
