webForumDet fria alternativet

User Control's/serverside-forms/IsPostBack/Viewstate?

4 svar · 395 visningar · startad av matthew

matthewMedlem sedan okt. 2001166 inlägg
#1

Hej!

Jag lyckas inte visa en ascx-control felfritt då ascx-control'en i sig använder sig av annan ascx-control, och då man endast kan ha en server-side-form / sida så verkar inte IsPostBack och ViewState's osv. fungera som det ska.

Då jag har denna som aspx så fylls de DropDownList's i den ascx-control jag använder i på ett korrekt sätt, men detta sker inte då jag gjorde om aspx-sidan som använde denna control, till en egen ascx-control.

Hur brukar ni andra göra då ni vill ha flera formulär, och möjligheter att använda controls med controls osv?

Är det någon som har en bra lösning till problemet, så vore jag ytterst tacksam...

matthewMedlem sedan okt. 2001166 inlägg
#2

Ingen som har någon aning om varför mina user controls visas, men IsPostBack inte funkar (vilket gör att data inte fylls i, i mina DropDownLists)? visserligen laddas väl alltid mina user controls vid huvudsidans PostBack, är man tvungen att skriva om sin IsPostBack-kod i Page_Load i sin user control? eller hur funkar det? Jag vill egentligen inte att hela sidan laddas om när en dropdownlist ändras i en user control, som används av en annan user control, som i sig är dynamiskt laddad i min layout-sida...

Hur löser man det här med att ha user controls dynamsikt laddade (i t.ex. TopCanvas, LefCanvas, BottomCanvas och DocumentCanvas, eller vad man nu döper sina TDs eller DIVar till), och inte vill använda sig av IFRAMEs, och man vill ha kvar sina Control vid Page_Load samt behålla sina ViewStates osv. Eller att man inte laddar hela sidan, utan bara sina user controls???

Hoppas någon förstår mitt problem, jag har själv lite svårt att greppa detta samt hur jag ska lösa detta på smidigast möjliga sätt...

emissionMedlem sedan dec. 19996 721 inlägg
#3

Visa gärna lite kodexempel.

Det går dock inte att bara ladda om en del av en sida, om man inte använder IFRAME, eller mer avancerad klient-kod.

desdecadoMedlem sedan juli 2004206 inlägg
#4

Hmmm, du vill antagligen inte ladda om sidan för att du har en massa kod som körs i ispostback?

Är du söker på att du inte kan bryta ut funktioner etc och lägga dom på länkar/knappar/whatever och hantera dessa events? Det är ju det underbara med usercontrols!

Hela sidan kommer alltid att laddas om om du submittar om den.

matthewMedlem sedan okt. 2001166 inlägg
#5

desdecado skrev:

Hmmm, du vill antagligen inte ladda om sidan för att du har en massa kod som körs i ispostback?

Är du söker på att du inte kan bryta ut funktioner etc och lägga dom på länkar/knappar/whatever och hantera dessa events? Det är ju det underbara med usercontrols!

Hela sidan kommer alltid att laddas om om du submittar om den.

Tack desdecado för att du tagit dig tid att svara på min krångliga fråga, då jag kanske uttryckte mig lika förvirrat som jag var förvirrad...

Nu är det så att jag har just det problemet du beskrev, precis så vill jag göra, men lyckas inte... Jag har en user control som heter ArticleGroups som har en DropDownList - MainArticleGroup och en DropDownList - ArticleGroup och den sista ändras beroende på första... Sen använder jag denna user control i en aspx-sida och tar emot events från min ArticleGroups-control för att ändra en tredje DropDownList som innehåller själva artiklarna för valda artikelundergruppen... och jag vill ha den här aspx-sidan som user control istället, men då slutar som sagt koderna i ispostback att fungera...

Räcker det att bind'a om source'n till DropDownList'erna utan postback och dom ändras ändå? Och hur gör man för att köra events serverside i codebehind utan att det blir postback, har för mig att det inte funkar...

Det är ju PostBack jag inte vill ha att göra med, men det verkar bli det vad jag än gör... Därav att jag inte ser lösningen...

Tacksam för svar!!!

122 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)