Živijo,
Uporabljam Visual Web Developer s C#-om. Že cel teden...
Zanima me, kako ohranim vrednosti nekega Class-a pri PostBack-u?
Prav tako me zanima ista reč za struct.
Namreč, končal sem neko aplikacijo v visual C# , zdaj pa bi naredil web stran , ki bi podobno kalkulirala, a operacija ima par korakov, pa bi si pomagal s Class-om in struct iz prvotne aplikacije za shranjevanje podatkov...
Primer bi bil najbolj nazoren...
Najlepše hvala, Grom.
Grom - torek, 24. julij 2007
Hej Bojan, Živijo! Zmeraj pripravljen pomagat. Hvala!Huh, tok načinov, ha? Ok, uporabnik bi na določeni strani vnašal podatke, in na isti strani bi se prikazali rezultati. Če prav razumem, bi ViewState bil primeren. (Če to ne moti dejstva, da bi morebiti kakšen drugi uporabnik ob istem času uporabljal isto stran...) Čisto na začetku kode (zgoraj, se opravičujem za terminologijo) imamClassGrid Grid = new ClassGrid(); // za klicanje Class private struct Bremena // od tu... { public string imeBr; public double tezaBr; public double distancaX; public double distancaY; } List<Bremena> SeznamBremen = new List<Bremena>(); Bremena VnosBremen = new Bremena(); // do sem pa struct A pol je prav tako:protected void Page_Load(object sender, EventArgs e) { if (Page.IsPostBack == false) { ViewState["KlasZaToStran"] = Grid; ViewState["StructZaToStran"] = VnosBremen; } else { ClassGrid Grid = ViewState["KlasZaToStran"] as ClassGrid; List<Bremena> SeznamBremen = ViewState["StructZaToStran"] as List<Bremena>; // to je sicer sprejel, } }sam pol se mi , med "surfanjem", prikaže tista grda stran z ERROR-jem: Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Runtime.Serialization.SerializationException: Type 'ClassGrid' in Assembly 'App_Code.2pd7hyo1, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable. ...in pol še en kup kode... A to moram serializirat? Sem tut to probal (kolikor pač znam), sam očitno sem naredil še večji šmorn... [:'(]Mogoče sem pa celo reč vtaknil na napačno mesto? Upam, da nisem preveč konkreten...Najlepša hvala, Grom
bojanv - ponedeljek, 23. julij 2007
Class, kot katerikoli objekt ali vrednostni tip lahko shranite na več načinov. ViewState, Session, Cache, Application ( bolj odsvetujem, ker je namenjeno za celotno aplikacijo )....vsak ima svojo posebnost....odvisno, kaj želite. Lahko si shranjujete za uporabnika posebej ( Session ), za določeno stran ( ViewState ) ali pa v spomin ( Cache ). Katero je perfomančno ugodno, pa je odvisno od strukture in načina uporabe.Uporaba pa je (ker gre za key - value variante): Session["neko ime"] = vrednost; ViewState["neko ime"] = vrednost; Cache["neko ime"] = vrednost; HttpContext.Cache.Insert("neko ime", vrednost); itd.Pridobivanje: nektip vrednost = Session["neko ime"] as nekitip; itd. Če vas pa zanima bolj konkretno pa vprašajte.