EerkaMedlem sedan dec. 19996 522 inlägg 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
EerkaMedlem sedan dec. 19996 522 inlägg 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 ?
WWalkerMedlem sedan okt. 2002188 inlägg 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.
EerkaMedlem sedan dec. 19996 522 inlägg Tack, insåg att det var smartare att ha denna typ av formatering av datat i min codebehindfil.