---
title: "Lager, sub som fyller en Dropdownlist"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/76188-lager-sub-som-fyller-en-dropdownlist"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "erka"
published: "2003-05-07T09:11:04.000Z"
updated: "2003-05-08T12:56:39.000Z"
replies: 3
views: 256
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/76188-lager-sub-som-fyller-en-dropdownlist"
---

# Lager, sub som fyller en Dropdownlist

## #1 — erka, 2003-05-07T09:11Z

Hej

Jag sitter och funderar om jag har tänkt rätt.

Jag har en aspx sida med en drop down list. Jag har i grunden ett generellt databas lager som skapar datatables,datasets etc. 
\-DataAccess

Sedan har jag ett lager med sql frågor som heter
\-TCdata

Sedan har jag ett affärslager som heter
\-TCbuis

Och sist har jag mitt presentationslager, aspx sidorna

I TCdata har jag en funktion som returnerar ett datatable till TCbuiss sub:en "Fill_CauseDDL", det är denna sub som ska fylla min dropdownlist kontroll. På själva aspx sidan har jag bara kontrollen utan några som helst värden. Har jag tänkt rätt nu ? Är det ett smidigt sätt att lösa det på.

Om det är det har jag problem att fylla min dropdownlist kontroll i aspx sidan ifrån TCbuis funktioner "Fill_CauseDDL", jag tänkte att det vore smidigt om jag i min asp sida bara behövde skriva

Dim objTCbuis As TCbuisness = New TCbuisness()
objTCbuis.Fill_CauseDDL(CompanyId)
objTCbuis= Nothing

Så min första fråga är alltså, har jag tänkt rätt. Jag vill ju ha själva sqlfrågorna i ett särskillt lager så jag kan använda dem i andra funktioner/applikationer. Jag vill även slippa ha en massa kod som tex

Dim objTCbuis As TCbuisness  = New TCbuisness 
Dim DataTable as New DataTable()
DataTable = objTCbuis.Get_NCRCauses(CompanyId)
objTCbuis = Nothing	
DDLcause.DataSource = DataTable
DDLcause.DataValueField = "Pk_CauseId"
DDLcause.DataTextField = "CauseName"
DDLcause.DataBind()

I min page load på aspx sidorna eller om jag gör den koden till codebehind, det verkar ju smidigare att bara kunna anropa en funtion i affärslagret så ordar sig allting, den kommer ju troligtvis användas på fler sidor och om jag då kör den i codebehind kommer jag ha den subben på flera ställen

tacksam

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

## #2 — erka, 2003-05-07T09:58Z

Fråga om codebehind

Eftersom jag inte sitter i VS.NET idag så har jag en fråga om codebehind utan VS.NET

Jag har en codebehind sida, codebehind.vb

på mina aspx sidor importerar jag den med

\<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="iso-8859-1" debug=true Src="bin/CodeBehind.vb" Inherits="PageRegistration" %\>

Sen håller jag på och pillar med ett namespace som ska kommas åt från min codebehind .vb ,om jag kompilerar det har jag ju tillgång till det genom Import i codebehinden, men det är ju tokjobbigt att kompilera mitt namespace varje gång jag gör en ändring (nu när jag utvecklar är det ju rätt frekvent), finns det något sätt att komma åt mitt okompilerade namespace ifrån min codebehind fil eller måste man helt enkelt kompilera det var enda gång ?

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

## #3 — Walker, 2003-05-08T09:46Z

Hej

Som du har gjort så vet dina affärsobjekt om hur gränssnittet ser ut och hur det fungerar, så det är inte korrekt om man ser det ur OO perspektiv, men om det fungerar och är smidigt så är det bra.  ;) 

Flyttar du upp denna funktion i aspx sidan så får du troligtvis en renare OO-struktur. det är inte fel att anropa databaslagret från gränssnittsklasserna då du bara skall visa någoting och inte behöver någon affärslogik.

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

## #4 — erka, 2003-05-08T12:56Z

Tack, insåg att det var smartare att ha denna typ av formatering av datat i min codebehindfil.

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/76188-lager-sub-som-fyller-en-dropdownlist
