webForumDet fria alternativet

Vad krävs för att migrera

.NET

7 svar · 371 visningar · startad av ante_c

Medlem sedan aug. 200210 inlägg
Frågan#1

Jag har gjort en applikation i ASP och funderar just nu på om det skulle vara värt att migrera till ASP.Net.

Jag undrar dock vad som krävs?? Jag arbetar vanligtvis i Notepad, kan jag fortsätta med det, eller måste jag ha Visual Stuidio .Net??

Är det ett stort jobb att migrera från ASP (vb-script) till C#?? Kan man blanda HTML och C#, precis som man kan blanda Vb-script och HTML?? Jag vet att man skall försöka undvika detta i största möjliga mån, men ni vet ju hur det brukar bli!! :-)

Finns det några andra fundamentala skillnader?? Hur fungerar bakåtkompatibiliteten?? Går det t.ex. att bara byta filändelse på .asp-filerna till .aspx och få det att fungera??

Är denna plattform värd att satsa på, eller skall man satsa på JSP istället??? (Kanske fel konfa att fråga om detta? Misstänker att svaren blir ganska partiska... :-) )

Ja...många frågor blir det!!! :-) Skulle iallafall bli väldigt tacksam om någon ville sprida lite ljus över detta!!

/Ante

Medlem sedan juni 20019 024 inlägg
#2

Det är inte samma sak och det krävs omskrivningar om du ska utnyttja .NETs fördelar. Annars är det väl ingen mening med att gå över. Och skippa context switcharna (blanda kod med html). I ASP.NET finns verktyg för att slippa det, till skillnad från vanliga ASP. Du kan förresten fortsätta koda i notepad om du så vill.

JSP kan väl med all säkerhet konkurrera med .NET. Jag ser det som en smaksak.

Medlem sedan aug. 200210 inlägg
#3

Men...?

Tack för svaret!!

Jag håller med om att det inte är så lyckat med context-switchar, men om nu .Net genererar HTML-koden, hur kan man då behålla kontrollen över det som skickas till klienten??

Jag vill ju t.ex. kunna formattera och designa mina sidor efter eget tycke. T.ex. sätta storlek på tabeller, använda egna javascripts osv.

Jag har hört att .Net genererar dessa saker automatiskt. Men det tycker jag inte låter särskilt lockande. Går det att komma runt??

Gick det förresten att blanda C# med HTML?? (Om man nu vill det...)

Medlem sedan juni 20019 024 inlägg
#4

Klart att det går. Det finns många substitut till befintliga objekt som tillåter en att designa med html som man vill. Och finns det inte så är det bara att bygga själv.

Du kan blanda vad du vill med html, men det vill du inte. Inte i längden i alla fall.

Medlem sedan juni 20001 257 inlägg
Medlem sedan aug. 200210 inlägg
#6

Tackar!!

Tack för länkarna!! Ska studera dem nu... :-)

/Ante

Medlem sedan feb. 20022 594 inlägg
#7

Här ser du andras problem och lösningar (förhoppningsvis) när de migrerat från ASP till ASP.NET: http://www.asp.net/Forums/ShowForum.aspx?tabindex=1&ForumID=29

Medlem sedan juni 20011 732 inlägg
#8

Re: Vad krävs för att migrera

> Är det ett stort jobb att migrera från ASP (vb-script) till C#??

Ja - och nej! Ja, därför att: asp.net har inte något alls gemensamt med gamla asp, mer än namnet då. Det är en helt ny teknik och ett helt nytt tänk att arbeta med asp.net/c#. Nej, därför att: Det är en tröskel att komma igång, men när de första frågetecknen rätats ut kommer du snabbt att se vilket otroligt lyft det är att gå från chimpanskodning a la asp till .net. Sedan kommer nästa tröskel, när du förstår hur stort .net är och att du inte kommer att kunna lära dig allt... någonsin. :)

> Kan man blanda HTML och C#, precis som man kan blanda Vb-script och HTML?? Jag vet att man skall försöka undvika detta i största möjliga mån, men ni vet ju hur det brukar bli!! :-)

Ja - och NEJ! Ja, du KAN. Nej, det finns inte en enda anledning att göra det, aldrig någonsin! Du använder asp.net-kontroller i ditt layoutlager, aldrig kod.

> Jag håller med om att det inte är så lyckat med context-switchar, men om nu .Net genererar HTML-koden, hur kan man då behålla kontrollen över det som skickas till klienten??

Jag tror att det här kräver en liten grundläggande förklaring. Du har tre huvudkomponenter när du utvecklar webbapplikationer på .net-plattformen (nåja, det finns fler men strunt samma): asp.net, ett programmeringsspråk (vanligtvis c# eller vb.net) samt html (och dess avarter).

  1. Precis som tidigare så vill din läsare bli matad med html, xhtml, javascript, dhtml, stilmallar och allt vad det heter. När du börjar utveckla på .net har du precis som tidigare en webbsida som kan innehålla allt detta. Du kan alltså bygga upp din sida med gamla tabeller och skit, eller om du vill vara lite mer sofistikerad använda css, lager, xhtml och sådant som w3c tycker att vi ska använda numera. Du kan även bygga upp exakt samma sida endast med asp.net-kontroller men det är en annan sak.

  2. Layouten kommer dock att få samsas med något som kallas asp.net-kontroller. En asp.net-kontroll är helt enkelt en programmerbar "enhet" som exekveras på servern och kastar tillbaka kod (vanligtvis html, javascript, dhtml) som kan tolkas av din webbläsare. Det finns en mängd olika asp.net-kontroller, valideringskontroller, kontroller för listning av data osv. Varje kontroll har sina unika egenskaper. Du kan även programmera egna kontroller. Du kan som sagt bygga upp hela webbsidor endast med asp-kontrtoller, men oftast använder du dessa endast för element som behöver styras dynamiskt.

Exempel på en vanlig asp.net-kontroll:

<asp:TextBox runat="server">

Vad gör då denna? Jo, en textbox är en asp.net-kontroll som kastar tillbaka en vanlig <input type="text"> ELLER en textarea beroende på hur du bygger upp den. I kontrollen ser du ett attribut, Runat="server". Detta attribut skriver du alltid i dina asp.net-kontroller vilket talar om för kontrollen att den ska exekveras på servern.

  1. asp.net är dock inte något programmeringsspråk. Du kan egentligen inte göra något alls med dina kontroller utan att programmera mot dessa och det är då vi kommer in på den verkliga utmaningen - att (om du inte redan kan) lära sig ett fullfjädrat objektorienterat programmeringsspråk. Det tar lång tid att bli en bra programmerare (jag är själv på grunt vatten och plaskar). Därmed inte sagt att du behöver vara en naturbegåvning i c++ för att dra nytta av plattformen, allt beror naturligtvis på vad du har tänkt göra (en gästbok eller ett operativsystem?).

Jo, för att komma till saken (jag svävar alltid iväg) så kan vi gå tillbaka till vår textbox. I sin enklaste form skriver du din programkod i samma dokument som du har din layout, dock blandar du aldrig kod och html/asp.net. Programkoden har du förslagsvis högst upp i ditt dokument. Jag rekommenderar dock att försöka använda codebehind vilket enkelt förklarat innebär att du skriver din kod i helt separata filer vilka sedan kompileras till assemblys (dll-filer) men du kan glömma det så länge.

I koden kan du styra din textbox precis så som du vill. FÖr att kunna identifiera den behöver den ett id. Jag kan även sätta andra egenskaper, en textbox kan se ut så här:

<asp:TextBox id="myTextBox" Text="hejhej" Width="200px" BorderWidth="2px" BorderColor="Blue" runat="server">

Nu kan jag även ta kontroll över min textbox från koden och styra den dynamiskt, exempelvis:

myTextBox.Text = "Ny Text";

Vill jag av någon anledning dölja min textbox dynamiskt behöver jag bara göra den osynlig:

myTextBox.Visible = false;

Voila, kontrollen döljs, MEN den finns kvar där och alla egenskaper är intakta om du senare väljer att visa den igen!!! Till och med texten "Ny Text" finns kvar oavsett hur många gånger sidan postas tillbaka till severn utan att du behöver göra något. Varje gång sidan anropas exekveras kontrollen och tillbaka tillbaka kod som din webbläsare kan tolka.

Detta är kanske ett tråkigt och löjligt exempel, men det finns verkligt sofistikerade kontroller som behandlar stora datamängder, valideringskontroller och mycket annat på ett otroligt smidigt sätt. För att inte tala om de möjligheter som ett riktigt objektorienterat programmeringsspråk ger dig som utvecklare.

Så,frågan är, vill du också halvera utvecklingstiden, öka på snabbheten, säkerheten och möjligheterna i dina webbapplikationer? Antagligen. Välkommen till en ny värld. :)

268 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)