|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: Mar 2004
Messaggi: 171
|
[ASP.NET]Soluzione elegante per pagina editabile
Ragazzi buongiorno..
Capisco che il titolo è assolutamente poco chiaro..mi spiego meglio.. ![]() Sto realizzando un sito Web in ASP.NET 3.5. Ho un problema banalissimo che vorrei però risolvere in modo elegante.. La pagina del profilo utente può essere in due modalità: - modificabile - non modificabile La tabella contenente i dati del profilo l'ho creata con uno user control ed è una cosa del genere: Nome: xxxxx Cognome: xxx Età: xxx ecc.. In modalità di modifica la pagina deve contenere dei textBox editabili mentre in modalità di non modifca deve contenere delle label. La mia soluzione (bruttissima) è questa, nella pagina aspx inserisco sia la textBox che la label e nel mio pageLoad utilizzando il this.Controls.Remove(...) rimuovo dalla pagina le label se sono in modalità modifica, i texBox se invece la pagina non è modificabile. <tr> <td><asp:Label ID="lbl_name" runat="server" >Name:</asp:Label></td> <td> <asp:Label ID="lbl_profile_name" runat="server"></asp:Label> <asp:TextBox ID="txt_profile_name" runat="server"></asp:TextBox> </td> </tr> protected void Page_Load(object sender, EventArgs e) { if (editable) { this.Controls.Remove(lbl_profile_name); this.txt_profile_name.Text = dataSource.name; } else { this.Controls.Remove(txt_profile_name); this.lbl_name.Text = dataSource.name; } } Spero di essere riuscito a spiegare il problema.. Voi che soluzione alternativa mi suggerireste? Grazie mille per le eventuali risposte.. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Per stare in soluzioni piu' ortodosse io userei l'attributo
Visible = "false" nei controlli che non devono essere visti. oppure style="visibility:collapse"
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:50.