none
Accesso a metodo contenuto in Masterpage da WebMethod statico in c# RRS feed

  • Domanda

  • Buongiorno a tutti.

    In una masterpage ho inserito:

        public void setUser()
        {
           Page.User.Identity.Name.ToLower();
        }


    Adesso avrei necessità di richiamare public void setUser() dalla masterpage, all'interno di un metodo WebMethod statico

    [WebMethod(EnableSession = true)]
    [ScriptMethod]
    public static void Savepnauttlc(pnauttlcweb teleco)
    {
        HttpContext.Current.Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
        HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
        HttpContext.Current.Response.Cache.SetNoStore();
    }


    Ho provato così

    [WebMethod(EnableSession = true)]
    [ScriptMethod]
    public static void Savepnauttlc(pnauttlcweb teleco)
    {
        HttpContext.Current.Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
        HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
        HttpContext.Current.Response.Cache.SetNoStore();
    
        ((Mp)Master).setUser();
    }

    Ma non funziona.

    Potreste aiutarmi?

    Grazie in anticipo.
    Carlo


    • Modificato cms9651 sabato 30 maggio 2020 07:36
    sabato 30 maggio 2020 07:35

Risposte

  • Ciao Carlo, innanzitutto cosa dovrebbe fare il metodo setUser()?
    AL momento ha sono un'istruzione che ritorna il nome utente scritto in minuscolo, quindi non fa nulla.
    Al max dovresti utilizzare un controllo ad esempio una Label per far visualizzare il nome dell'utente nella master.

    Ad esempio: Label1.Text = Page.User.Identity.Name.ToLower();

    Poi un'altra domanda: Se devi richiamare quel metodo da altrove, perché metterlo nella masterpage quando puoi tranquillamente crearti una classe nella cartella App_Code nata appositamente per quello scopo?


    Paolo Pranzo


    domenica 31 maggio 2020 10:26

Tutte le risposte

  • Ciao Carlo, innanzitutto cosa dovrebbe fare il metodo setUser()?
    AL momento ha sono un'istruzione che ritorna il nome utente scritto in minuscolo, quindi non fa nulla.
    Al max dovresti utilizzare un controllo ad esempio una Label per far visualizzare il nome dell'utente nella master.

    Ad esempio: Label1.Text = Page.User.Identity.Name.ToLower();

    Poi un'altra domanda: Se devi richiamare quel metodo da altrove, perché metterlo nella masterpage quando puoi tranquillamente crearti una classe nella cartella App_Code nata appositamente per quello scopo?


    Paolo Pranzo


    domenica 31 maggio 2020 10:26
  • Il cliente non risponde. Tema chiuso. 

    • Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.

    mercoledì 10 giugno 2020 12:45
    Moderatore
  • Grazie Paolo.

    Risolto seguendo le tue indicazioni.

    Mi scuso per non aver risposto prima, ma ho avuto problemi di connessione internet in casa, che si sono risolti da qualche giorno.

    giovedì 2 luglio 2020 09:51