webForumDet fria alternativet

Code behind, Controls etc...

5 svar · 328 visningar · startad av jens_rock

jens_rockMedlem sedan sep. 20044 inlägg
#1

I ett webbprojekt använder man många generella classer. Det kan vara allt ifrån att läsa XML-filer, databaskopplingar till små enkla funktioner som hanterar diverse strängar.

I min värld har man kanske en class för att jobba med xml, en class för att skicka mail etc.

Hur gör ni när ni inkuderar dessa klasser i asp.net?
Hur gör man för att inkludera flera klasser utan att dom för den skull ärver av varandra kors och tvärs?

Har jobbat med php, där man enkelt inkluderar den fil/klass man just behöver för en viss sida/funktion, och tycker att asp.net hittils verkar lite omständigt på den punkten.

Arv i klasser är ju en helt lysande grej, men det behövs verkligen inte jämt och överallt.

PDahlenMedlem sedan apr. 2004778 inlägg
#2

I din code-behind lägger du

Imports MyClass (vb.net)
Imports MyClass2 (vb.net)

eller

using MyClass; (c#)
using MyClass2; (c#)

sen använder du klassen som du använder de inbyggda .NET klasserna.

En av de stora fördelarna med .NET är att man nu kan ha en gemensam grund för sina webb och desktopprojekt.
Det enda som skiljer är Presentationslagret.

Du nämner PHP och inkludera filer, men det är inte samma sak. Det är att jämför include i ASP.
ASP.NETs motsvarighet är UserControls där du kan lägga in funktionalitet och designelement och vad du vill.

Om vi tar dina exempel:
XML-klass
Du skapar en klass som har alla funktioner som behövs för att hantera XML-dokument.
Denna kan du sedan använda i både webb- och desktopapplikationer.
T.ex.

Class XmlHelper
  Public Shared Function ReadXml(Url as String)
     ' kod för att läsa in en xmlfil från URL och lägga det i myXmlDocument
     Return myXmlDocument
  End Function
End Class

.aspx.vb code-behind
Imports XmlHelper

Sub Page_Load...
  Dim myXML as XmlDocument
  myXML = XmlHelper.ReadXml
End Sub

Jag skriver inga funktioner i min webbkod längre. Dyker det upp ett problem som måste lösas med ett kodstycke så lägger jag detta i en klass. Har jag flera funktioner eller klasser som kan grupperas skapar jag en namnrymd för dessa. Är det generella funktioner lägger jag det i min Core-namnrymd.

jens_rockMedlem sedan sep. 20044 inlägg
#3

Tack

Förstår det där med includes etc. Det var mer tankesättet jag ville beskriva, men jag fick korrekt svar iaf. :e

Alltså:

Du komplilerar dina filer/klasser och sen importerar (using/imports) du dom från/i codebehind filen.

Givets importerar man bara dom klasser/namnrymder man behöver för just den sidan.

Då har det klarnat betydligt. TACK!

Om man nu har ett webhotell, så känns det inte som om dom vill ge kleti & pleti tillgång till \bin mappen, var och hur lägger man då sina dll'er?

PDahlenMedlem sedan apr. 2004778 inlägg
#4

Japp, jag kompilerar mina klasser och importerar det som behövs.
Jag brukar skapa separata klass-projekt i Visual Studio så att de kompileras som egna dll:er. Lättare att återanvända i andra projekt då.

Om du har webbhotell så har du en /bin mapp i din webbrot och det är där du lägger dina dll:er.

jens_rockMedlem sedan sep. 20044 inlägg
#5

Tusen tack

Tackar ödmjukast för snabba svar.

:e

maqeMedlem sedan dec. 2003824 inlägg
#6

Mycket intressant tråd, jag skulle gärna se lite enka exempel på hur man gör för att t.ex. bygga en enkel grund till en webbapplikation med t.ex. en klass som sköter inloggning och hur man gör kontroller av det som man lätt kan inkludera i nästa projekt ...

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