Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    utilizzare classi personalizzate in web form

    Salve a tutti,

    premessa:

    ho scritto un thread qualche giorno fa, per aver qualche parere da chi sviluppa in ASP.net, per sapere i vantaggi del

    passaggio da altri linguaggi..

    Ringrazio chi ha contribuito, mi dispiace sia finita un po' così... ma ci avrei giurato, con grande rammarico è sempre la

    solita storia, non si può parlare di tecnologie diverse (magari opposte) senza che finisca sul personale, o comunque senza

    che si divaghi su mille altre cose, facendo inevitabilmente scendere il livello della discussione.

    Ovviamente è una parere personale, non mi riferisco a nessuno in particolare e non sto attribuendo alcuna responsabilità.

    Una domanda per il moderatore: perché il thread è sparito? è possibile recuperarlo?
    da questo link non riesco a vederlo, mi dice che non sono registrato, ma invece lo sono...

    http://forum.html.it/forum/showthrea...33#post4489933



    domanda:

    Ho letto parte di un libro intitolato Russel Jones - Mastering ASP.NET with C#

    L'ho trovato molto interessante per l'introduzione generale sulle applicazioni web, e sulle novità introdotte da ASP.NET.
    Sto iniziando a entrare nell'ottica del code-behind e del web form: semplificando al massimo la possibilità offerta da

    ASP.NET:

    nella pagina col codice html (ma con estensione asp) NON c'è codice ASP, ma questo sta su file a parte. L'interazione è resa

    disponibile dai controlli racchiusi sulla pagina html, che vengono processati prima di essere restituiti al client.

    L'esemio proposto fa vedere come il codice della pagina

    <form id="Web Form1" method="post" runat="server">
    <asp:Label id=lblName style="Z-INDEX: 101; LEFT: 48px; POSITION:
    absolute; TOP: 43px" runat="server" Width="78"
    Height="19">Name:</asp:Label>
    <asp:TextBox id=TextBox1 style="Z-INDEX: 102; LEFT: 125px; POSITION:
    absolute; TOP: 43px" runat="server"></asp:TextBox>
    </form>


    diventa


    <form name="Web Form1" method="post" action="DynamicImage.aspx"
    id="Web Form1">
    <input type="hidden" name="__VIEWSTATE"
    value="YTB6LTM3MDk3ODU5Ml9fX3g=ce6a788f" />
    <span id="lblName" style="height:19px;width:78px;Z-INDEX: 101; LEFT:
    48px; POSITION: absolute; TOP: 43px">Name:</span>
    <input name="TextBox1" type="text" id="TextBox1" style="Z-INDEX: 102;
    LEFT: 125px; POSITION: absolute; TOP: 43px" />
    </form>


    Ho letto poi la possibilità di intercettare i vari eventi del client e nella pagina del code-behind inserire il codice ad

    hoc.
    e fin qui mi è chiaro (almeno credo)...

    Il libro parla anche della possibilità di lavorare senza code-behind, ma lo sconsiglia, dicende che è svantaggioso e non

    sfrutta a pieno la rivoluzione di ASP.NET


    Quello che non mi è molto chiaro è come trasportare una situazione "tipica" descritta qui sotto in ASP.NET

    ------

    Ho una pagina asp con un menu laterale (con bottoni che puntano a link diversi) generato in automatico leggendo i dati da un

    database. Vengono mostrati solo i bottoni della categoria corrente. Se la categoria non è specificata si punta all'homepage

    Attualmente io ASP ho una classe menu che dei metodi che fanno queste cose:


    In testa alla pagina metto un controllo sul valore dell'ID della categoria

    <%
    menu.checkCategoria ID, dbConn
    'se mi da false faccio poi un redirect all'homepage
    %>

    e al posto del menu metto il codice:

    <%
    menu.generaMenu IDclasse, dbConn
    %>

    ------

    soluzione:


    Passando ad ASP.NET non mi sono chiari alcuni passaggi.
    (Corregetemi se sbaglio)

    Io mi credo una classe analoga a quella che avevo in ASP.

    Primo punto: l'evento page_load viene invocato prima del caricamento della pagina, quindi posso utilizzarlo per controllo

    dell'ID della categoria

    Secondo punto: se non voglio mettere codice codice ASP nella mia pagina, come faccio a invocare il metodo generaMenu?
    Non credo di poterlo invocare nel page_load, perché altrimenti come faccio a posizionare la mia tabella a lato della pagina?

    (non voglio usare posizioni assolute, voglio solo che l'output del metodo finisca magari dentro un punto della pagina html.)

    Da quello che ho capito (per adesso nel libro non è ancora stato affontato il problema) devo usare

    uno user control?
    o un custom control?

    qual è la differenza e in che casi si usa uno e in che casi l'altro?
    (io ho letto che lo user control è associato as una web form.. ma in pratica cosa vuol dire?)

    in sostanza il mio problema è:
    io so come arrangiarmi per creare le classi da utilizzare nel mio sito, ma non so come applicare nella webvform l'interazione

    con i metodi della mia classe..



    Il problema è effettivamente da principiante, ma una risposta mi sarebbe utile per entrare nella nuova mentalità di ASP.NET e

    pensare a come organizzare tutta la struttura di un sito in ASP.NET

    grazie, Luigi
    Luigi

    voglia di inter-rail?
    http://spazioweb.inwind.it/inter_rail2001/

  2. #2
    ciao gigi, non sei il solo a non trovare + quel topic....
    mi sarebbe piaciuto pure a mè sapere come sarebbe finita, anche se poi Jc mi ha spiegato.

    comunque non mi è chaira una cosa del tuo messaggio

    Attualmente io ASP ho una classe menu che dei metodi che fanno queste cose
    come un classe ? :master: ci sono le classi in asp ?

    per il resto

    Primo punto: l'evento page_load viene invocato prima del caricamento della pagina, quindi posso utilizzarlo per controllo
    si viene generato al caricamento

    in caso puoi rispiegare un pochino quello scritto dopo, non ho ben capito
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

  3. #3
    ciao trinità,

    per quanto riguarda il thread scomparso, non è che hai voglia di spiegare anche a me? non capisco perché sia stato tolto..

    tornando al tuo messaggio

    il supporto di vbscript per la creazione di classi in ASP è minimo,
    sono classi di nome, ma non di fatto.
    Non c'è praticamente supporto per sviluppo orientato agli oggetti.

    Il motivo per cui le uso in ASP (va un po' meglio in PHP invece..) è che hanno il vantaggio di "raggruppare" funzioni che diventano metodi, e separano il codice asp dalla pagina html.

    se hai tempo fai un salto qui

    http://forum.html.it/forum/showthrea...8&goto=newpost


    riguardo a quello che ho scritto sotto, volevo sapere come tradurre nella tecnologia .NET (senza scrivere codice asp.net nella pagina html, ma usando il code-behind) il problema proposto.

    Non voglio sapere il codice, è solo un esempio per capire come far interagire una mia classe in c# con una web form che deve visualizzare sulla sx un ipotetico menu dinamico (cioè un menù che visualizza le voci tratte dal un db relative alla pagina corrente)

    esempio:

    ho una pagina categoria.asp
    se passo ID=1 mi mostra a sx nel menu le sottocategorie della categoria = 1
    se passo ID=2 mi mostra a sx nel menu le sottocategorie della categoria = 2
    Il resto della pagina di categoria è uguale.

    IN ASP:
    Il menu dinamico generato in ASP lo realizzo con una classe (chiamiamola funzione) che passato l'ID mi visualizza una tabellina con le voci del menu corrispondenti.

    IN ASP.NET
    Da quello che ho capito potrei mettere al posto della funzione un controllo di tipo tabella ed associarlo ad una query (credo si possa fare, no?) che seleziona i dati opportuni

    Ma io vorrei che la tabella stampata fosse il risultato della chiamata di un metodo della mia classe. Mi pare una soluzione migliore, rispetto al controllo tabella, così se devo richiamare la tabella in altre pagine del sito basta istanziare l'oggetto e richiamare il codice...

    Questo è l'approccio che userei in ASP, vorrei sapere se cambia qualcosa in ASP.NET.

    Nel senso: se non voglio mettere il codice che invoca il metodo che crea la tabella nella pagina che contiene l'html, dove lo metto nel code-behind?
    se lo metto all'interno del page_load, l'invocazione dei Response.write scrive prima della pagina. Come faccio a mettere, scrivendo un Response.write nel page_load, il codice prodotto della tabellina dei link in mezzo alla mia pagina html?


    PS: Correggetemi se non siete d'accordo sul modo in cui ho affrontato il problema..

    Luigi
    Luigi

    voglia di inter-rail?
    http://spazioweb.inwind.it/inter_rail2001/

  4. #4
    sto cercando materiale sul sito asp.net:

    forse a strada è un Web Forms User Controls?
    Luigi

    voglia di inter-rail?
    http://spazioweb.inwind.it/inter_rail2001/

  5. #5
    Nel senso: se non voglio mettere il codice che invoca il metodo che crea la tabella nella pagina che contiene l'html, dove lo metto nel code-behind?
    ah forse adesso ho capito cosa intendi...

    pure io avrei un problema simile

    quello che penso io è che non puoi farci niente se nella pagina aspx )o (ascx) non ci metti qualcosa che puoi poi comandare da code behind

    altrimenti in che punto dell'interfaccia apparirebbe quello che tu comandi da code behind ?

    a meno che tu non faccia una classe che genera un qualcosa al quale tu passi anche le coordinate ad esempio di dove lo vuoi inserire (un tag div ad esempio)
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

  6. #6
    quello che penso io è che non puoi farci niente se nella pagina aspx )o (ascx) non ci metti qualcosa che puoi poi comandare da code behind

    per me la soluzioe di mettere qualcosa da comandare via code-behind è buona, ma cosa devo metterci? code asp?

    potresti farmi un semplice esempio?

    vorrei evitare invece di passare le coordinate in cui disegnare il layer...

    Luigi
    Luigi

    voglia di inter-rail?
    http://spazioweb.inwind.it/inter_rail2001/

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 © 2025 vBulletin Solutions, Inc. All rights reserved.