Avatar billede Martin1982 Nybegynder
25. december 2010 - 15:24 Der er 8 kommentarer og
2 løsninger

Spørgsmål til aspx.cs side

Hej Eksperter

Da jeg stadig er ny i ASP.NET vil jeg høre hvad forskellen rent teknisk er på disse to.

using System;
public partial class Eksempel : System.Web.UI.Page
{
private string stVar;
protected void Page_Load(object sender, EventArgs e)
{
stVar = "Test";
Show.Text = stVar;
}

og

using System;
public partial class Eksempel : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
String stVar = "Test";
Show.Text = stVar;
}

Hvad bruger I som standard til websider, har altid deklareret mine typer (lokal variable) i metoderne, når jeg koder web, men kan se at nogle deklarerer det globalt.

Får man noget ud af at gøre det globalt, når webserveren er "stateless" og alligevel ikke kan huske de globale værdier, når de bliver postet over flere omgange.
Avatar billede arne_v Ekspert
25. december 2010 - 15:48 #1
Med den kode du viser så kan jeg ikke se nogen grund til at vælge den første.
Avatar billede heinzdmx Nybegynder
25. december 2010 - 19:18 #2
Den eneste grund til at gøre dem globale er hvis de skal bruges uden for den metode den defineres i. F.eks. kan det være nyttigt hvis du bruger en variable i din side i stedet for code behind filen.

Eller hvis flere af dine metoder skal bruge den samme variable og kunne tilrette den.

Variabler bliver ikke gemt mellem hver post, med mindre de er indsat i en form eller de er gemt i en session.
Avatar billede Martin1982 Nybegynder
25. december 2010 - 22:20 #3
@arne_v: Hvornår vil man gøre det ?

@heinzdmx: F.eks. kan det være nyttigt hvis du bruger en variable i din side i stedet for code behind filen.

Kan du komme med et eksempel ?
Avatar billede arne_v Ekspert
25. december 2010 - 22:39 #4
Hvis ikke det var en Page men noget du gemte i Session elelr ViewState, så kunne det jo være vigtigt at bevare værdien mellem kald.
Avatar billede Martin1982 Nybegynder
25. december 2010 - 22:59 #5
Har været i gang med denne bog(Asp Net 3.5 a Beginners Guide, www.bestebooksworld.com/ebook/17692/) og her bruger de i deres eksempler meget mit 1. eksempel, men det undrede mig lidt, derfor denne tråd.
Avatar billede arne_v Ekspert
25. december 2010 - 23:11 #6
Jeg ville være skeptisk overfor den bog.
Avatar billede heinzdmx Nybegynder
27. december 2010 - 20:55 #7
Du kan bruge noget lignenden:

<%=metode() %>


og

<%=Variablenavn %>


Men for at skabe opdeling vil jeg mene at det anbefales at bruge codebehind til at lave kode og så have en control der indeholder indhold i aspx filen. F.eks. kunne man have en label der indeholder tekst der kan kontrolleres af code behind filen.

Men eksempelvis hvis du skal lave en værdi i et javascript, f.eks. id'et på en ASP.NET kontrol.
Det kan løses i javascript med:
document.getElementById("<%=txtFirstName.ClientID %>");


På følgende side diskuteres også lidt om en alternativ løsning (med jQuery).

Se her:
http://www.jankoatwarpspeed.com/post/2009/01/08/Select-ASPNET-server-controls-easily-with-jQuery.aspx
Avatar billede Martin1982 Nybegynder
28. december 2010 - 13:50 #8
@arne_v og @heinzdmx: Skriv et svar
Avatar billede arne_v Ekspert
28. december 2010 - 17:55 #9
svar
Avatar billede heinzdmx Nybegynder
29. december 2010 - 14:22 #10
Svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester