Visualizzazione dei risultati da 1 a 5 su 5

Discussione: response.redirect

  1. #1

    response.redirect

    ciao,
    ho usato la response.redirct sul mio codice c#, e mi da il seguente errore:

    ex = {Impossibile valutare l'espressione perché il codice è ottimizzato o un frame nativo è all'inizio dello stack di chiamate.}

    e poi un errore generico di js.

    esiste un istruzione analoga che non da rogne?

    grazie

  2. #2
    Response.redirect non da rogne se utilizzata in modo corretto. Posta il codice che da problemi, altrimenti è impossibile aiutarti.

  3. #3
    if (Request["login.aspx"] == null){
    FormsAuthentication.SetAuthCookie(utente.Value.ToS tring(), false);
    switch (Session["livello"].ToString())
    {
    case "1":
    Response.Redirect("richieste.aspx");
    break;
    case "3":
    Response.Redirect("municipio.aspx");
    break;
    default:
    Response.Redirect("login.aspx");
    break;
    }
    }else{
    FormsAuthentication.RedirectFromLoginPage(utente.V alue.ToString(), false);
    }
    }
    //Close the connection when done with it.
    dr.Close();
    conn.close();
    }catch(Exception ex){
    conn.close();
    Console.WriteLine(e);
    }

    alla redirect va nel catch e lancia l'eccezione sopra scritta

  4. #4
    Presumo tu sia in un blocco try/catch. Ci sono parecchi errori nel codice che hai scritto.

    Innanzitutto i redirect li non vanno bene, per 2 motivi:

    1) non puoi uscire da un blocco try/catch in quel modo. Piuttosto dove ora fai i redirect, memorizza l'indirizzo dove dovrai poi andare in una variabile, ed esegui il redirect solo alla fine.
    2) Vedo che alla fine del try chiudi la connessione. Ma se esegui prima il redirect, la connessione rimane aperta (appesa). Esegui un po' di volte quella pagina e vedrai il tuo database esplodere per le troppe connessioni rimaste aperte e mai chiuse.

    Riassumendo: chiudi la conessione nel "finally" ed esegui il redirect solo all'esterno del blocco try/catch/finally. Se non lo deve fare sempre, utilizza un flag di stato che controllerai prima di fare il redirect.


    Ciao

  5. #5
    si è vero
    ha buttato giù il tutto un po in fretta

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.