Artiklar » .NET » ASP.Net för nybörjare av nybörjare

 
 

ASP.Net för nybörjare av nybörjare

Författare: famous
Datum: den 27 november 2008
Antal lästa: 8010
Ej stjärnmärkt

Till att börja med vill jag nämna att jag precis för någon dag sedan i skrivande stund började titta på .Net och testa att bygga mitt första projekt. Jag är därför ingen mästare, men insåg att det var svårt att hitta en plats som gick genom de självklara frågorna man har som total nybörjare. T ex vad de olika filerna gör, hur man kan lägga upp strukturen osv. Jag fick höra att tråden jag skapade för att få svar på mina frågor var en av få platser där alla nybörjares funderingar finns med vettiga svar, därför skrev jag denna artikel.

I denna artikel kommer jag rekommendera er  att strukturmässigt bygga på ett visst sätt. Det är säkert inte det optimala, men det är enligt mig det enklaste sättet att lära sig få en vettig sida. Sedan när man förstått tänket mer kan man alltid ändra sin taktik lite.

Jag kommer inte ge massa kodexempel i artikeln, men jag rekommenderar att ni laddar ned något bra färdigt script för att studera koden lite. När jag ville lära mig gjorde jag just detta, sedan skapade jag ett nytt projekt och kodade allt från grunden själv (med hjälp från andra så klart), men jag var noga med att inte kopiera och klistra in kod, iaf utan att förstå exakt vad varje rad gör. En bra sak att starta med är att bygga en gästbok eller ett nyhetsscript, något som innehåller de grundläggande sakerna man vill lära sig, alltså att skapa nya poster, radera poster, uppdatera poster och lista/hämta poster. När man byggt detta har man lärt sig mycket!

Programmet som jag valt att använda för att programmera .Net i är Visual Web Developer (2008) och jag kör på C#, inte VB.



De olika filerna.
I gamla hederliga ASP är vi vana att blanda ASP-kod och HTML-kod i samma dokument, allt i en salig röra, med undantag från någon inkluderad fil här och där som gav en känslan av att allt var superdynamiskt. Men det var då!

Numera är det mycket bättre, enklare och smidigare att dela upp hela sidan i flera olika skikt. Du har t ex ett skick som hanterar HTML/CSS biten, dvs det besökaren ser. Denna sidan bygger man på samma sätt som förr i tiden med skillnaden att vissa ASP.Net kontroller placeras ut här och var istället för vanliga textlänkar, divar osv. Dessa renderas dock om till vanliga divar och länkar m m när sidan körs hos klienten.


*.aspx filen
Det är denna filen jag nämnde ovan. Den som hanterar vissa .Net kontroller och innehåller allt utseende. Varje  *.aspx sida har en tillhörande *.aspx.cs fil.


*.aspx.cs
Denna filen hanterar alla events som har med tillhörande *.aspx fil att göra. Låt mig ge er ett exempel.



Vår *.aspx-fil innehåller t ex en Literal. En literal är som standard en tom kontroll som du kan skicka in text i tex. Vi kan säga att det är som en osynlig <div> kodmässigt. Det finns flera olika kontroller som kan användas för att skicka in innehåll i. Vilken du bör använda beror på ändamålet. Literal ger ingen kod i källkoden förutom det du väljer att placera i den, medan t ex en Label sätter <span></span> runt ditt innehåll osv.

Jag fortsätter med exemplet. Som vi konstaterade har vi en Literal i våran *.aspx fil, denna får ett ID. Vi har också en Button som vi ger ett önskat ID. Detta renderas som en helt vanlig Button som ni säkert känner till från HTML.


Kod i *.aspxKod:
<asp:Literal ID="ltrMyMessage" runat="server"></asp:Literal>
<asp:Button ID="btnVisaText" runat="server" Text="Visa min text" OnClick="btnVisaText_Click" />




Nu har vi två kodbitar i vår *.aspx. Vår *.aspx.cs kommer nu innehålla ett event för ”btnVisaText_Click”, med andra ord det som ska hända när jag klickar på knappen.

Båda dessa filer kommer innehålla kod från början när ni skapar projektet i VWD, låt den koden ligga kvar.


Kod i *.aspx.csKod:
protected void btnVisaText_Click(object sender, EventArgs e)
{
  ltrMyMessage.Text = "Tjosan, här är min text.";
}




Vipps så har vi byggt oss något riktigt avancerad.
Om våran knapp ska hämta data från en databas t ex så skulle vårat event i *.aspx.cs i sin tur anropa en klass och metod i en annan fil, nämligen *.cs (läs nedan).





*.cs filen
I dina projekt kommer du också jobba med *.cs filer. Dessa ligger (gärna och oftast) i App_Code mappen som finns / skapas till ditt projekt.

Som jag valt att dela upp det så har man en *.cs fil för olika delar på sidan. Alltså en som t ex hanterar alla händelser som har med dina nyheter att göra, en för gästboken, en för galleriet osv. T ex Nyhet.cs, Gastbok.cs, Galleri.cs.

Dessa filer kan exempelvis innehålla SQL-satser för att returnera önskad data.
Jag har valt att ha databasanslutning och sådana grundläggande saker i en egen fil, Data.cs. På så vis behöver vi bara ändra några få rader om vi byter databas eller liknande, istället för att ha anslutningen i varje *.cs fil.

Det är detta som är den s k treskiktslösningen. *.aspx, *.aspx.cs och *.cs. Där vi delat upp det på HTML och .Net-kontroller i *.aspx, dessa skapar vi ett event till i *.aspx.cs och dessa event kan exempelvis anropa metoder i klasser, som finns i önskad *.cs fil.
Detta var en liten artikel om ett enkelt och smidigt sätt att tänka och förstå, men som jag tidigare nämnde kan ni ändra struktur och hur ni placerar era klasser etc som ni själva känner känns rätt. Efter några byggda projekt och lite mer koll kan man alltid förbättra. Men detta är en bra och enkel grund att stå på!

När ni ändå tagit beslutet att lära er .Net (bra!), så kan ni samtidigt, om ni inte redan kan det, börja använda parametrar i era SQL-satser. Ger mycket högre säkerhet!


Exempel på hur parametrar användsKod:
*.CommandText = "INSERT INTO tblNyheter (fldRubrik, fldNyhet) VALUES(@rubrik, @nyhet)";
*.AddParameter("@rubrik", DbType.String, [ditt värde]);
*.AddParameter("@nyhet", DbType.String, [ditt värde]);
*.ExecuteNonQuery();




Hoppas artikeln gav lite matnyttig information om hur en sida i .Net fungerar!

Tråden som låg till grund för denna artikeln kan nås här
http://www.aspsidan.se/default.asp?page=forum&fp=showPost&pId=571962

Där finns också min kod som blev mitt nyhetsscript med grundläggande funktioner.


Två andra bra resurser är Vimpys och Stefans bloggar, i Stefans blogg finns t ex den Data.cs fil jag använder för databasanslutning och lite annat matnyttigt.

http://weblogs.asp.net/mikaelsoderstrom/archive/tags/.NET/default.aspx
http://crs.rappendal.se/?tag=/asp.net
 
     

  » Logga in  
 
Användarnamn

Lösenord

 
     

  » Bli medlem  
  Bli medlem på ASPsidan!  
     

     
  Microsoft  
     

  » Partners  
  Comsolvia  
     
  » ANNONS  
  ingen annons än  
     

  » Senast online  
  Endast för inloggade  
  Antal inloggade: 1  
     

Copyright © 2007 www.ASPsidan.se
ingen sponsrar längre ASPsidan med Dedikerad Server
ASPsidan RSS
   
 XHTML / CSS
Det tog 0,5156 sekunder att ladda sidan