Du är kvar i klassiskt ASP-tänk.
Om du gör en PostBack så skickas inga värden i querysträngen. Du hämtar istället upp dem direkt från dropdownlist-kontrollen.
7 svar · 355 visningar · startad av sharkface
Hej!
Vill använda mig av en DropDownList-meny för att navigera på en webb.
URL innan användaren valt något i alternativ dropmenyn
https://www.minsida.se
URL efter att användaren valt ett alternativ i dropmenyn
https://www.minsida.se?a=1
Dropmenyn ligger i en UserControl som inkluderats på default-sidan.
Är det möjligt att skicka med värden till URL:en när man har AutoPostBack satt till true för DropDownListen?
Värdena som skickas med i URL:en används av diverse UserControls som inkluderats på default-sidan för att de ska visa rätt info.
Jobbar man på detta sätt i .NET eller är jag kvar i ett "klassiskt ASP-tänk"?
Du är kvar i klassiskt ASP-tänk.
Om du gör en PostBack så skickas inga värden i querysträngen. Du hämtar istället upp dem direkt från dropdownlist-kontrollen.
Jag kan direkt se två lösningar. JavaScript och Response.Redirect. Använder du JavaScript kan du inte använda AutoPostBack, annars gör du en Redirect till samma sida.
Tänk dock på att alla egenskaper för alla kontroller försvinner med denna metod. Då är frågan om du måste ha värdena i adressen? Du skulle kunna ha en länk som heter "Länk till denna sida".
Eftersom man fortfarande ska vara kvar på defaultsidan men med annan info så finns det ingen anledning till en redirect. I PostBack funktionen kan man istället byta ut informationen.
En Redirect är nödvändig för att adressen ska bytas ut.
En Redirect är nödvändig för att adressen ska bytas ut.
Ja men eftersom det inte är nödvändigt att byta adressen så är det bättre att bara göra en postback och där läsa ut värdet i dropdownlistan och sedan bygga upp sida efter det val som man gjort.
- Magnus
Det är nödvändigt att byta ut adressen om man vill ha ett bokmärke till den nya sidan med rätt data. Då kan man använda förslaget i mitt första inlägg (länk till denna sida).