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