Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    7

    [C#] Richiamare funzione da un'altra pagina

    Innanzitutto saluto tutta la community e vi ringrazio in anticipo per l'aiuto!
    ho iniziato ultimamente a lavorare con asp.net in c# e ora mi trovo difronte al seguente problema:
    ho due pagine: paginaA.aspx.cs e paginaB.aspx.cs io dovrei richiamare una funzione della paginaB dalla paginaA esiste un modo per farlo? avevo pensato a instanziare la paginaA nella paginaB come fosse una classe, ma non credo sia possibile . Ho provato a spostare la funzione all'interno di una classe ma non può funzionare poichè all'interno della funzione modifico dei controls presenti in quella pagina e ovviamente se li utilizzo nella classe mi da errore . Avete qualche idea?

  2. #2
    ciao,
    probabilmente quello che vuoi fare, lo stai facendo nella maniera sbagliata.

    da quanto ho capito dalla paginaA vuoi richamare una funzione della paginaB che modifica dei controlli (controlli di A o di B non ho capito)

    vediamo comunque che in ogni caso è sbagliato:

    paginaA chiama fun in B che modifica controlli in B:
    non è logico, la pagina in esecuzione è A, se devi modificare dei controlli in B lo fai direttamente da B, non da un'altra pagina, in più B non esiste (andrebbe instanziata ma poi che ci fai? la pagina che sta per essere renderizzata è A)!!

    paginaA chama fun in B che modifica controlli in A:
    perché devo far modificare i miei controlli (parla la paginaA) da un'altra pagina? me li modifico da sola!!!!!!!

    Spiega meglio la tua esigenza che troviamo una soluzione

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    7
    Ti dico più precisamente ciò di cui ho bisogno:

    Io ho un wuc inserito in una pagina aspx, questo wuc dovrebbe servire come indice per visualizzare un'immagine diversa in base al link button cliccato.

    Utilizzo una classe con delle variabili comuni in modo da far comunicare wuc con la pagina, ad esempio l'indice che viene modificato o il numero totale delle immagini.

    Una volta che il wuc modifica l'indice (in base al linkbutton cliccato) dovrei fare in modo che mi si avvii il Page_Load della pagina aspx in cui è contenuto l'algoritmo che fa cambiare l'immagine, perchè è da li che effettuo il controllo dell'indice e cambio il path dell'immagine.

    E' piuttosto intrecciata come faccenda, ma devo aggiungere che sto facendo uno stage (è qui che ho conosciuto l'asp.net) con la scuola, e facendo il quarto superiore mi ritrovo che non abbiamo acnora studiato i database (con i quali non avrei tutti questi problemi), quindi ho dovuto inventare un algoritmo spartano e relativamente complicato.

  4. #4
    scusa ma non ho capito molto bene.
    il wuc sostituisce il database? visualizza le foto? non ho mica capito!!!!!!

    Non spiegarmi cosa hai fatto o cosa hai costruito, spiegami cosa dovresti realizzare, cosa dovrebba avere la pagina e come dovrebbe funzionare

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    7
    Io devo creare un navigatore di immagini, non so come chiamarlo, hai presente quando in una presentazione di immagini sotto si trovano tutti quei numeretti da 1 fino ad x immagini e cliccando si va a quell'immagine. Questo devo fare. Da me il wuc ha solo il compito di cambiare l'indice dell'array (in questo array ho salvato i path dell'immagine). Per questo quando io clicco su un linkbutton del wuc ad esempio il linkbutton col numero 4, valorizza l'indice a 4 e tramite la calsse lo passo alla pagina. Però la pagina ricontrolla l'indice e cambia l'immagina solo nel Page_Load, che entrerà in funzione solo al prossimo controllo che cliccherò, quindi l'immagine non cambia. Io dal wuc dovrei far in modo che il Page_Load parta facendo cambiare al momento del click l'immagine.

  6. #6
    ok, ora ho capito.

    in verità il Page_Load della pagine viene richiamato OGNI VOLTA che viene effettuato un PostBack, anche se questo viene lanciato da un controllo.
    Tecnicamente si chiama "Page Life Cyle", sono gli eventi che vengono generati durante il ciclo di vita della pagina.
    http://msdn.microsoft.com/en-us/library/ms178472.aspx
    http://www.eggheadcafe.com/articles/20051227.asp
    http://www.beansoftware.com/ASP.NET-...ife-Cycle.aspx


    Quindi il perché la pagina non cambia immagine, è perché prima viene fatto il load della pagina, poi il load del controllo, poi la funzione che valorizza l'indice.
    Ti sconsiglio di spostare la funzione che cambia l'immagine in base all'indice, nell'evento PreRender in modo che il ciclo diventi questo:

    (pagina) Page_Load -> Nulla che influenzi il nostro scopo
    (wuc) Page_Load -> idem
    (wuc) Linkbutton_Click del controllo -> cambio l'indice e lo memorizzo (basterebbe anche una semplice proprietà dello stesso controllo, o una variabile di session)
    (pagina) Page_PreRender -> leggo il valore dell'indice, scelgo la relativa immagina e la visualizzo


    Ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    7
    Grazie dell'aiuto, non conoscevo l'esistenza le PreRender, ora funziona tutto.

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.