145 messaggi dal 25 giugno 2010
Ciao a Tutti,
in una classe (messa in appcode) come faccio a vedere gli oggetti (campi) che sono presenti in una determinata form?
grazie mille
ciao
stefano
A parte che è concettualmente sbagliato....IMHO una delle cose che potresti fare è creare una classe "modello" che mappi i campi del tuo form, popolarla al momento del submit e passarla alla classe che avevi in precedenza.

Ovviamente poi tutto dipende da quello che stai provando a fare :)

Davide Guida
Technical Architect @ Razorfish Healthware
http://davideguida.altervista.org
145 messaggi dal 25 giugno 2010
Ciao Davide,
grazie per la risposta! e soprattutto per il suggerimento di cambiare approccio!
72 messaggi dal 18 gennaio 2007
Ciao.
Malgrado il suggerimento precedente sia ottimo (meglio evitare, di solito...) talvolta può essere invece utile poterlo fare.
Per esempio, io ho una classettina semplice per i dati globali di un'applicazione web (è possibile una soluzione più professionale e complessa ma io ho preferito questa).
Questa classe riunisce tutti que dati che sarebbero altrimenti "polverizzati" in giro nelle varie "Session["qualcosa"]".
Ecco il cuore della faccenda:
private const string k_sessionName = "__Qualcosa...__";
...
public static MySession Current
{
get
{
MySession session = (MySession)HttpContext.Current.Session[k_sessionName];
if ( session == null )
{
session = new MySession();
HttpContext.Current.Session[k_sessionName] = session;
}

return session;
}
}

Il "clou" della faccenda è "HttpContext".
Guarda un po' in giro, nel caso (chessò...in Google...) e vedrai.
Ciao!
;)))
Modificato da dinoerre il 25 maggio 2011 10.42 -
è un'altra soluzione...l'unico inconveniente è che l'uso della Sessione tende a rallentare parecchio il sito all'aumentare degli utenti. Inoltre, sei comunque costretto a creare una sorta di "manager" altrimenti ti troveresti con le stringhe dei nomi delle variabili scolpite un pò ovunque nelle pagine :|

Davide Guida
Technical Architect @ Razorfish Healthware
http://davideguida.altervista.org
72 messaggi dal 18 gennaio 2007
E' proprio per questo che ho creato la classe wrapper: per avere le variabili come proprietà di questa.
Cmq, in assenza di necessità, è sempre meglio evitare.
Confermo che è concettualmente sbagliato da una classe accedere ai campi di una webform (system.web.ui.page).
Comunque potrebbe essere utile in rari casi.

Dalla tua classe devi fare il cast. Es se hai una Label lblNome sulla pagina Contatti.aspx che corrisponde alla classe Contatti,
crei una proprietà pubblica LblNomePubblica che mappa la label definita nel designer. poi ci accedi come

((Contatti)Page).LblNomePubblica.Text = "xxx";

Ormai programmano tutti... ma la professionalità appartiene a pochi
145 messaggi dal 25 giugno 2010
WOW ma grazie!!!!!
posso prenderla e utilizzarla?
se non capisco qualche cosa posso chiederti?
ciao
stefano

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.