---
title: "binda data till webbkontroll"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/50813-binda-data-till-webbkontroll"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "piddy"
published: "2002-08-20T19:57:12.000Z"
updated: "2002-08-27T11:12:07.000Z"
replies: 29
views: 628
page: 1
pages: 2
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/50813-binda-data-till-webbkontroll"
---

# binda data till webbkontroll

_Sida 1 av 2._

## #1 — piddy, 2002-08-20T19:57Z

Hej!!

Här kommer en fråga från en .NET-nybörjare:

Jag har skapat en aspx-sida där jag hämtar information från en databas (fyller ett DataSetobjekt med en SQLQuery). Jag ser att kopplingen funkar som den ska när jag testar med Response.Write. 

Nu till min fråga: Hur gör jag för att binda data till en webbkontroll (i detta fall en \<asp:Listbox\>) i formuläret? Jag vill att all info i en av databasens tabellkolumner ("tabell Person kolumn Namn") ska visas i Listboxen. 

Innehållet är således av typen string.

Någon? Please?

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

## #2 — Nickemannen, 2002-08-20T20:06Z

Välkommen till wF.

Här hittar du nog svaret om jag fattat det rätt, välj språket 
genom att klicka på länkarna längst upp:

<http://samples.gotdotnet.com/quickstart/util/srcview.aspx?path=/quickstart/aspplus/samples/webforms/intro/Intro8.src>

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

## #3 — piddy, 2002-08-20T20:21Z

tack för snabbt svar!

tyvärr verkar det inte vara riktigt vad jag letar efter koden
\<asp:dropdownlist id="Category" runat=server\>
                         \<asp:listitem \>psychology\</asp:listitem\>
                         \<asp:listitem \>business\</asp:listitem\>
                         \<asp:listitem \>popular_comp\</asp:listitem\>
                      \</asp:dropdownlist\>

verkar ju skapa en dropdownlist med "hårdkodat" innehåll...vad jag far efter är en funktion som motsvarar ASP:s 
\<%Do while NOt rs.EOF%\> för att få skriva ut innehåller i databasen till kontrollen...

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

## #4 — renholm, 2002-08-20T21:34Z

```
minDropDownList.Datasource = minObjectReader;
minDropDownList.DataTextField = "kolumnnamn" // det som visas
minDropDownList.DataValueField = "kolumnnamn" // värdet
minDropDownList.DataBind()
```

så fyller du en DropDownList från en datakälla.

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

## #5 — piddy, 2002-08-21T06:51Z

Tack, det ska jag pröva!!

Jag kommer att ha flera webbkontroller på sidan som ska hämta data från olika databastabeller, kan jag ändå använda mig av en DataReader? Som min kod är nu har jag använt mig av ett DataSet.

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

## #6 — Nickemannen, 2002-08-21T07:10Z

DataList eller DataGrind är ju oftast bättre än DataReader om du skall mata ut data.

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

## #7 — NETwork, 2002-08-21T07:17Z

> DataList eller DataGrind är ju oftast bättre än DataReader om du skall mata ut data.

 

Hm? En datalist och en datagrid är ju asp.net-kontroller för att presentera data,  en datareader är ju en teknik att läsa data... två helt olika saker! Du kan däremot använda en datareader för att fylla en DDL om du vill. 

 :)

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

## #8 — renholm, 2002-08-21T08:21Z

Datasource kan använda flera olika typer av indata. T.ex DataReader, DataTable, ArrayList mm.

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

## #9 — piddy, 2002-08-21T08:55Z

nu har jag testat och fått infon i databasen att visas i ListBoxen, jättebra!

men hur gör jag för att ha ett default-option inställt av istället för att det första namnen visas?

i asp skrev man ju \<OPTION value= "Välj" selected\>Välj\</OPTION\> eller nåt liknande...

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

## #10 — NETwork, 2002-08-21T08:59Z

Du kan sätta vilket index som ska vara valt, det gör du med:

myDDL.SelectedIndex

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

## #11 — Grynet, 2002-08-21T09:00Z

myDD.SelectedIndex = myDD.Items.IndexOf(myDD.Items.FindByText("Denna ska vara Selected"));

Vill du selecta på Value istället för text så gör då ganska självklart  FindByValue

Eller som Network menar, kort och gott

myDD.SelectedIndex = 123;

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

## #12 — renholm, 2002-08-21T09:13Z

> **Grynet skrev:**
>
> myDD.SelectedIndex = myDD.Items.IndexOf(myDD.Items.FindByText("Denna ska vara Selected"));

Kanske en enklare metod...

myDD.Items.FindByText("Denna ska vara Selected").Selected = true;

eller om du vill söka i value:
myDD.Items.FindByText("Denna ska vara Selected").Selected = true;

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

## #13 — Grynet, 2002-08-21T09:20Z

Usch vad det var enklare..tyckte mitt sätt var lite omständigt, danke

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

## #14 — piddy, 2002-08-21T09:24Z

men då väljer jag ju bara bland de poster som finns i databasen (dvs en hel drös med olika namn). eller?  jag vill sätta selectedindex till ett värde som jag anger själv, typ "välj". 

sedan när användare trycker på dropdownlisten ska alla olika alternativ komma fram....

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

## #15 — renholm, 2002-08-21T09:33Z

det bästa sättet att enge ett eget värde är med denna kod:

```
ListItem item = new ListItem();
item.Text = "Välj";
item.Value = "#";
item.Selected = true;
myDD.Items.Add(item);
```

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

## #16 — NETwork, 2002-08-21T09:37Z

...som default så är ju det värdet som ligger högst upp valt, du behöver alltså bara lägga till "Välj" först och sedan fylla på med data från din db.

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

## #17 — piddy, 2002-08-21T09:43Z

menar du att jag ska lägga till "välj" i min databas?

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

## #18 — piddy, 2002-08-21T09:45Z

nu visas ju datan i databasen vid händelsen Page_Load...kanske är det där felet ligger....

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

## #19 — renholm, 2002-08-21T09:47Z

Kan man få se på koden du använder?

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

## #20 — piddy, 2002-08-21T09:57Z

självklart! =)

\<%@ Import Namespace="System.Data.OleDb" %\>
\<%@ Import Namespace="System.Data" %\>
\<%@ Page Language="VB" %\>

\<script runat="server"\>

sub Page_Load(obj as Object, e as Eventargs)
	
	'Databaskoppling 
	
	dim objForfattare as new OleDbCommand ("SELECT  \*   FROM Forfattare)

dim objReader as OleDbDataReader
	
	oConn.Open
	objReader = objForfattare.ExecuteReader
	
	DDLSignatur.DataSource = objReader
	DDLSignatur.DataTextField = "Namn"
	DDLSignatur.DataValueField = "Namn"
	
	'prövar att ställa in ett defaultvärde
	dim välj = new ListItem()
	välj.Text = "Välj"
	välj.Value = "#"
	välj.Selected = true
	DDLSignatur.Items.Add(välj)
	
	DDLSignatur.DataBind()
end sub
\</script\>
....
och i html-koden:
\<asp:DropDownList id="DDLSignatur" Runat="server" /\>	

..................

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/50813-binda-data-till-webbkontroll  
Nästa sida: https://www.webforum.nu/amne/dotnet/50813-binda-data-till-webbkontroll/page2.md
