webForumDet fria alternativet

Databinding praxis?

7 svar · 362 visningar · startad av ZNS

ZNSMedlem sedan apr. 200410 inlägg
#1

Hej igen..

Är ny på .NET som sagt och funderar på vad som är bra praxis för att bygga frontweb egentligen. All dokumentation går i stort sett bara igenom repeterande webbkontroller så som repeater/datagrid och datalist. Om man vill ha ut t.ex. 1 bild, en rubrik, en text och en lista på saker ur en databas med en sqlfråga ska man då sedan använda 1 asp:image två labels och en datalist? Har ett liknande problem nu nämligen. Använder en SQLDataReader men kan ju inte hämta data till label och image och sedan binda till datalisten eller tvärtom, eftersom SQLDataReader är forward-only. Känns onödigt att använda ett dataset eller binda till en klass först. Hur gör ni? :)

PDahlenMedlem sedan apr. 2004778 inlägg
#2

Om du har olika typer av data som skall visas på sidan; labels och bilder, samt en datalista, så behöver du två resultatset från databasen. Eller så måste du köra igenom ditt resultatset och skapa en array, binda till en klass eller något som du kan binda till datalistan.

Anledningen är ju att du i din DataReader har t.ex. en rad med texten som skall ligga i en Label, en rad med en sträng som är en bild URL och resten av raderna skall in i en datalista. Med andra ord så måste du ju få bort raderna för labels och bilder innan du binder, annars kommer det med i listan.

Jag kör stenhårt OO med klasser och collections. Använder DataReaders för att fylla med data. Eftersom mina collections är starkt typade så kan jag binda dem direkt till webbkontrollerna.
Mer dom mitt sätt att jobba på http://www.pdc.se/blog/DisplayEntry.aspx?eid=5

ZNSMedlem sedan apr. 200410 inlägg
#3

Tack för svaret. Läste tråden här om n-tier och det är definitivt något jag kommer använda mig av när jag bygger en lite större applikation från grunden. Just nu handlar det om ett par enstaka sidor som ska skapas, så jag matar nog in infon i en array då :) Intressant blog förresten.

renholmMedlem sedan apr. 20012 266 inlägg
#4

Flyttas från .NET

ZNSMedlem sedan apr. 200410 inlägg
#5

Måste tyvärr komma med en uppföljningsfråga.. hur får man in data från sqldatareader in i en array? Jag trodde det skulle vara hyfsat enkelt.. men nej.

hm.. och var/varför flyttas inlägget?

renholmMedlem sedan apr. 20012 266 inlägg
#6

Tolkade det som att ditt inlägg handlar om hur man presenterar data på webben med .NET?

Dock är din uppförljningsfråga mer generell och svaret är Collection.

Ett exempel,

System.Collections.Specialized.StringCollection collection = new System.Collections.Specialized.StringCollection();

while(IDataReader.Read())
	collection.Add(IDataReader.GetString(0));
ZNSMedlem sedan apr. 200410 inlägg
#7

Jo det var frågan för början, sedan utvecklades den till något annat ;) Jag har inte helt koll men skapar inte den loopen en collection med bara första kolumnen i tabellen?

renholmMedlem sedan apr. 20012 266 inlägg
#8

Ja, så är fallet i mitt exempel, vill du sedan lagra mer data får du skapa klasser som innehåller denna. Dessa klasser kan du sedan lägga in i en Collection på sätt liknande det demostrerat ovan.

128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)