Har en inloggnings-usercontrol som består av två paneler, en för inloggad och en för icke inloggad. Denna usercontrol ligger i en frame på vänster sida. I mainframen så kan man bl.a. registrera en ny användare.
Jag vill att när man har registrerat en ny användare så ska man loggas in automatiskt, alltså panelen för inloggad i usercontrolen ska bli visible men hur kommer jag åt den från mainframen (från codebehind)?
På samma sätt skulle jag vilja komma åt mainframen från usercontrollen i vänsterframen så att jag kan ändra sidan i mainframen när man loggar in t.ex.
Det gör du inte. Frames finns i webbläsaren, och ASP.NET-koden körs på servern. Alltså kan du inte göra någonting som helst med någonting i en annan frame med ASP.NET.
Ifall du har satt Visible=False på kontrollen så renderas den inte när sidan skapas. Alltså finns den inte i sidan. För att den ska skapas måste du alltså ladda om sidan.
Eftersom du inte kan göra någonting med en annan frame med ASP.NET så måste du använda Javascript för att ladda om sidan.
Ok, har försökt nu i några timmar med javascript men är inte så bra på det. Har använt parent och allt sånt men det går bara inte att få till det.
Nån som kan ge en bra beskrivning på hur man ska gå tillväga, har sökt på javascriptforumet men inte lyckats hitta något...
Jag vet inte om detta hjälper.
Men när du har skapat användaren gör du en response.redirect på hela sidan och går in på sidan igen. Och så kollar du i din usercontrol
if(!IsPostBack)
{
Kollar om du är inloggad.
Visa rätt sidor.
}
Har nästan fått det att fungera nu tack vare top.NamnetPåFramen.location.reload(true); och att kolla om man är inloggad eller inte.
Det är när man registrerar en ny användare som det inte fungerar fullt ut.
Första gången jag registrerar en ny användare så går det alldeles utmärkt och vänsterframen ställer om sig till inloggad. Men sen om jag försöker registrera en till användare så får jag upp ett varningsmeddelande från IE om att sidan inte kan uppdateras om inte informationen skickas igen. Försök igen eller avbryt... När detta meddelande kommer upp är vänsterframen tom.
268 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e