public void DoLogOut(object sender, EventArgs e) { FormsAuthentication.SignOut(); Session.Clear();
Response.Redirect("~/forum/login.aspx"); }
Den skal ved valg af linket, logge en bruger af ved at fjerne authentification. Det er også ok, det eneste problem jeg dog har er at jeg kun kan redirecte til en specifik side, og <a href="...> gentages for flere punkter på siden, da den er en del af en menu.
Er det ikke muligt at få overført selve URL'en i AnchorTag'et? Hvis Response.Redirect("~/forum/login.aspx") fjernes, vil man forblive på den side hvorpå man har trykket/klikket på linket.
¨Håber dette giver mening nok til at give en hjælpende hånd!
Jeg har en funktion DoLogOut der aktiveres i en AnchorTag når der bliver klikket på et link. DoLogOut fjerner autorisationen af brugen og bliver i ovennævnte situation redirected til login.aspx.
Nu er det bare således, at det AnchorTag er en af mange idet der er lave en menu, og hver af AnchorTagene har deres egen URL samt eget ID, men kalder samme funktion DoLogOut. Istedet for at resultatet hver gang er at man sendes til login.aspx, istedet bliver sendt til hver AnchorTags respektive URL.
*********************** Uanset hvad jeg her vælger bliver jeg enten redirected til login.aspx (hvis jeg skriver det i funktionen) eller forbliver på den aktuelle side hvor jeg klikkede på linket.
Jeg tillader mig lige at skrive i VB.NET. Tjek dette eksempel. Det skulle herefter være rimelig nemt at erstatte response.write med response.redirect: ----------------- <%@ Page Language="VB" %> <script language="VB" runat=server>
Sub Page_load(obj as Object, E as EventArgs) End Sub
Sub DoLogOut(Sender as Object, E as EventArgs)
response.write("Du har klikket på objektet " & sender.ClientID.ToString())
End Sub
</script>
<html><head> <title>Udlæsning af variabler i ASP.NET</title> </head><body>
odegaard>> Ja, den virker ok, i hvert fald så lenge den kører i på en .aspx side. Det gør min menu desværre bare ikke, den er oprettet som en .ascx side (UserControl) og ClientID'et bliver derfor ID'et på UserControllen navngivet på .aspx-siden.
Dvs. at ser man på linket ved kørsel af siden fås følgende URL (hvor Usercontrollen har ID=menu på .aspx siden): java script:_doPostBack('menu:link1','') hhv: java script:_doPostBack('menu:link2','')
-og hvis man derefter vælger sender.ClientID.ToString() får man Responsen "menu" som jo er ID'et på objektet fra .aspx siden.
HA!!! Nu fandt jeg en mulig løsning - meeen grundet andre forhold giver det kun problemer for mig selv. Jeg kører en koblet asp og asp.net side (hvorfor mit link i første omgang også blev omtalt .asp). Det giver en masse andre problemer, som jeg ikke har tid til at løse umiddelbart.
Min egen løsning på hvordan jeg fik fanget den URL som Anchortaget videregav lyder således (skrevet i C#):
******** /// Her fanges først HtmlControllen protected System.Web.UI.HtmlControls.HtmlAnchor forside; protected System.Web.UI.HtmlControls.HtmlAnchor news;
/// Hop i koden public void DoLogOut(object sender, EventArgs e) { FormsAuthentication.SignOut(); Session.Clear();
- Jeg skriver dette for at eventuelle andre kan gøre brug af dette! Og som tak for hjælpen og tiden I har lagt i det vil jeg lige give lidt point til jer...fordelt efter hvad jeg fik flest idéer ud fra!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.