01. oktober 2007 - 11:16
Der er
24 kommentarer og 1 løsning
ViewState tom når jeg læser den fra anden side
Jeg har via Page1 gemt denne værdi i viewstate (eksempel) ViewState["myValue"]= "xyz"; Den vil jeg gerne have fat i på den efterfølgende side (Page2), Men det ser ud til den er tom når jeg prøver: ViewState["myValue"].ToString(); Nogen ideer til hvad jeg kan mangle eller en anden effektiv måde at overføre data mellem siderne på (ikke hidden inputs)? NB benytter C# og .NET 1.1
Annonceindlæg fra Cognizant
01. oktober 2007 - 11:22
#1
din viewstate er korrekt nok, men dine elementer og sidder skal have viewstate slået til. Øverst på siderne kan du tilføje dette til @Page tag'et EnableViewState="true" og du kan også gøre det samme direkte på dine kontroller så du er sikker på de understøtter det.
01. oktober 2007 - 11:24
#2
f.eks <asp:HiddenField ID="Test" EnableViewState="true" Value="Test" runat="server"></asp:HiddelField>
01. oktober 2007 - 11:25
#3
er enable viewstate ikke default for en side? det er ikke kontrollerne der driller, men mine egne værdier...
01. oktober 2007 - 11:29
#4
Har lige prøvet at sætte det ind på de 2 sider, men det gør ingen forskel, jeg får stadig object reference not set to an instance of an object, når jeg prøver at læse værdien på side 2
01. oktober 2007 - 11:29
#5
kan du uddybe hvad det er du prøver på, at opnå? og hvordan kommer du fra side 1 til side 2? via. Redirect eller submit form? hvis alt driller og du bare skal have en værdi over så kan du jo gemme i Session istedet for ViewState
01. oktober 2007 - 11:33
#6
Jeg skal bare have værdien med så jeg kan læse den på andre sider og pt. går jeg til siden ved hjælp af en javascript submit (det er noget gammelt kode jeg er ved at opdatere). Det burde kunne ændres til redirect hvis det er...
01. oktober 2007 - 11:45
#7
jeg tror man skal se noget kode... du har spurgt tidligere om det samme så kan regne ud, at Request ikke fungerer for dig. Prøv som sagt Session som bør virke.
01. oktober 2007 - 11:47
#8
Du kan IKKE overføre værdier fra en side til en anden via ViewState. ViewState gemmes på klienten og sendes tilbage ved postback, men hvis du går til en ny side så er der ingen viewstate på den side, før du eksplicit selv gemmer noget info der. Følg kalps råd og brug session.
01. oktober 2007 - 11:50
#10
neoman > ville jeg også have foreslået, men slettede kommentaren da det kun virker i 2.0:D
01. oktober 2007 - 12:28
#11
netop... det hjælper ikke i .NET 1.1 :o)
01. oktober 2007 - 12:54
#12
01. oktober 2007 - 12:55
#13
nej - har du læst 01/10-2007 11:47:15?
01. oktober 2007 - 12:59
#14
eller evt. blot kommenterer hvorfor du ikke benytter dig af Session som foreslået:)
01. oktober 2007 - 13:04
#15
jeg har læst det ja, og session har jeg pt ikke brugt, fordi det ikke et sat til i web sitets web.config og den har jeg ikke rigtig råderet over
01. oktober 2007 - 13:12
#16
du kan ikke benytte ViewState til det du ønsker, uanset om session er slået til eller fra. Har du forstået forklaringen? Du kunne måske lægge værdien i en cookie på klienten - og måske har kalp en bedre idé
01. oktober 2007 - 13:13
#17
jeg har fanget ideen og må overveje om jeg kan få lov at bruge session, cookies er sidste udvej.
01. oktober 2007 - 13:16
#18
I må hellere lægge svar begge 2, I har bidraget til min almene oplysning og orientering :o)
01. oktober 2007 - 13:17
#19
hvis din javascript submitter form'en så havner du stadig i din page load først da den altid bliver afviklet. tilføj dine værdier til din url du laver redirekt til manuelt.. dvs. hvis du laver Response.Redirect("side2.aspx"); så laver du istedet Response.Redirect("side2.aspx?myvalue="+ Request["MyValue"]); fra side side2.aspx kan så benytter Request helt normalt. nu kan min kode forresten skrives pænere, men det var bare ideen i den. og der er egentlig mange gode muligheder, men det er svært at tankelæse din kode så du må prøve dig lidt frem:)
01. oktober 2007 - 13:18
#20
Jeg har arbejdet med et site hvor man benytter ovenstående metode til at flytte værdier fra side1 til side10. Den er mere sikker end cookies som kan være slået fra:)
01. oktober 2007 - 13:21
#21
denne her er kalps, da han kom med noget brugbart.
01. oktober 2007 - 13:24
#22
neoman: dit var også brugbart... det var din kommentar der endelig fik mig til at se lyset (at jeg ikke kunne bruge viewstate). Hvis du insisterer går pointene ubeskåret til kalp
01. oktober 2007 - 13:34
#23
jeg insisterer:)
01. oktober 2007 - 13:41
#24
OK, takker og bukker! :oD
01. oktober 2007 - 15:07
#25
tak for point:) at dele dem havde været helt fint:)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.