---
title: "Kolla om kontroll finns"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/124892-kolla-om-kontroll-finns"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "paraxe"
published: "2005-03-22T14:43:22.000Z"
updated: "2005-03-25T13:43:38.000Z"
replies: 4
views: 332
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/124892-kolla-om-kontroll-finns"
---

# Kolla om kontroll finns

## #1 — paraxe, 2005-03-22T14:43Z

Hej

I en repeater så binder jag ett produkt id till antingen en "buttons"- CommandArgument eller till en DropdownList beroende på om det finns flera artikelnummer på produkten eller inte.

Vid klick, där jag ska lägga allt i en kundkorg så ska jag kolla om det finns ett id i CommandArgument eller i en DropDownList.SelectedValue.

Alltså vid bindning:

```
ArrayList aList = lo.getArtnr(((TblProduct)e.Item.DataItem).PkId);
					if(aList.Count == 1)
					{
						btnOrder.CommandArgument = ((TblArtNr)aList[0]).PkIdArtnr.ToString();
						art.InnerText = "bla..";
						price.InnerText = "bla..";
					}
					else
					{
						DropDownList ddlArt = new DropDownList();
						ddlArt.DataSource = aList;
						ddlArt.DataTextField = "ddlText";
						ddlArt.DataValueField = "PkIdArtnr";
						ddlArt.DataBind();
						art.Controls.Add(ddlArt);
						price.Visible = false;
						pricedt.Visible = false;
					}
```

 

Och vill lägga i korgen: 

```
int	Productid;
				try
				{
					Productid = Convert.ToInt32(e.CommandArgument);
				}
				catch(NullReferenceException)
				{
					Productid = Convert.ToInt32(((DropDownList)e.Item.FindControl("ddlArt")).SelectedValue);
				}
```

Änte så man ska ska göra???

Det fungerar inte iaf.

Mvh

Pär

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

## #2 — Guffa, 2005-03-22T22:14Z

Standardfråga #1:
Vad menar du med att det "inte fungerar"?

Kolla ifall referensen är null istället för att utnyttja felhantering för det:

```
if (e.CommandArgument != null) {
   ...
} else {
   ...
}
```

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

## #3 — paraxe, 2005-03-23T08:47Z

Oops, dåligt formulerad fråga, håller med om det.

Jo jag kan gå över till en if-sats istället (hade det innan).

Så till det verkliga problemet:

Hur gör jag för att hitta WebControls.DropDownList ddlArt  och hämta det valda värdet?

/pär

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

## #4 — Glitter, 2005-03-23T09:52Z

Borde inte 

```
FindControl(id as string)
```

funka... har inte använt det skälv...

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

## #5 — paraxe, 2005-03-25T13:43Z

Har hittat felet.

Det berodde på att jag skapade DropDownList-controlen i repeatern för varje produkt. Lösningen blev att skapa controlen i .aspx-sidan. Först då kunde jag hitta controlen efter en PostBack. Den kan heller inte vara visible=false , så därför läggs, om det är en singel-artikel, id:et i CommandArgument.

/pär

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/124892-kolla-om-kontroll-finns
