public string Server { get { return _server; } set { _server = value; } }
public string Driver { get { return _driver; } set { _driver = value; } }
public string Comment { get { return _comment; } set { _comment = value; } }
public string Location { get { return _location; } set { _location = value; } }
når jeg opretter et object af klassen data, så får jeg fint de data der står i, når jeg så opretter et nyt object af klassen så er alle mine felter blevet nulled.
Hvordan får jeg gjort så min data i dataklassen forbliver der, indtil de bliver overskrevet.
Forstår ikke helt hvad du mener. Laver du en instans af klassen og sætter værdier i felterne, for derefter at lave en ny instans som så har null værdier i samme felter?
Det gir' jo meget god mening, da vi snakker 2 forskellige instanser.
Hvis du vil have "statiske" data. Eller dvs, default værdier i nogle properties så snart du opretter instansen, så skal du sætte disse værdier ind i din default constructor.
F.eks. :
public Data() { Server = "Server1"; Driver = "Driver1"; Comment = "En Kommentar"; }
Iøvrigt skriver du alt for meget kode for at lave dine properties. Du kan nøjes med dette :
public class Data { public Data() { Server = "Server1"; Driver = "Driver1"; Comment = "En Kommentar"; } public string Server { get; set; } public string Driver { get; set; } public string Location { get; set; } public string Comment { get; set; } }
Der er få tilfælde hvor static properties er en bedre løsning end at lære manden at programmere med henblik på han måske engang skal ud og lave større løsninger. Når man kan det, så kan man gå tilbage og måske bruge mere static da man så kender alle udfordringerne.
Man skal i hvert fald være klar over hvad man gør, før man tror static løser alle verdens problemer.
Ja, man skal stå tidligt op. Men i det mindste sover Arne_v :-)
#hopir Vi kan fortsætte i vores bil verden.
Din motor ved ikke om der er dæk på bilen, den arbejder bare. Den kan så måske undre sig over det nogen gange er brug for flere kræfter end andre gange.
Ergo, din Data klasse bør ikke kende til din knap, men din knap bør kende til din data klasse.
Du må komme med lidt kode. Vi har alle været nye engang :-)
1. En bruger indtaster nogle værdier og trykker herefter på knappen.
2. Du har dit "Button click" event som fyres af og så kan du opretter en instans af din data klasse som du så kan gemme i din database eller hvad du nu skal med det hele.
Hvis du skal bruge samme instans på et senere tidspunkt, så kan man jo f.eks. gemmer instansen i session eller viewstate, lidt afhængig af hvad opgaven består i.
Jeg tror du bliver nødt til at forklare lidt nærmere omkring hvad det præcist er du ønsker skal ske.
det er fordi på fx default.aspx der er et afkrydsningsfelt, er det markeret, skal man sendes videre til en anden side og den side skal have adgang til de samme data som default havde..
Det kan løses på X antal måder alt efter om du bruger client state, view state, session storage, client storage, query strings, cookies, you name it ... mange måder der kan løse et problem.
Hvad der er den bedste kommer nok mere an på dine skills og hvordan UX skal være på siden.
Skal det være SEO friendly ... der er mange spørgsmål.
Så ... show us the code ... og fortæl os hvordan du vil have løsningen skal virke.
Jeg ville ikke lægge hver property derned. Jeg ville derimod lægge selve klassen i session. Så har du kun et objekt hvor du holder styr på alle dine properties.
Så kan du hente instansen af data klassen ud fra session ala : Og så selvfølgelig huske at gemme i session inden du redirecter til en ny side.
private Data GetSessionObject() { Data d = null;
if (Session["data"] != null) d = (Data)Session["data"]; else d = new Data();
Hold da op... ret tilfreds med den gejst i har drenge ;)
lasse smider du ikke et svar :)
Synes godt om
Ny brugerNybegynder
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.