34 messaggi dal 29 gennaio 2011
www.incante.135.it
Salve!

Durante la progettazzione, ho trovato il bisogno di creare dei div dinamicamente, HtmlGenericControl, il cui contenuto è formato da altrettanti oggetti dinamici, delle Asp:TextBox e dei Asp:Button.

Questo avviene in un metodo statico, public static HtmlGenericControl m(), contenuto in una classe, chiamata Utility.

Ovviamente richiamerò il metodo statico Utility.m() in un metodo della pagina index.aspx.cs. In questo modo riesco a riempire un div, aggiunto direttamente nella pagina <div id="a" runat="server"></div>.

Quando vado a fare a.Controls.Add(Utility.m()), non ottendo nessun errore, i lcodice prosegue come dovrebbe fare, ma poco dopo ho la necessità di modificare un oggetto che precedentemente avevo inserito, attraverso il metodo statico m(). Per fare ciò ho pensato al metodo FindControl(), dove mettendo il nome dell'oggetto, riesce ad individuarlo.
((HtmlGenericControl)a.FindControl("nome_oggetto")).InnerText = languageSelected[0] + ": ";


Soltanto che quando tenta di eseguire questo comando, si blocca e mi rilascia il seguente errore: Riferimento a un oggetto non impostato su un'istanza di oggetto.

Sinceramente non so come mai. Riuscite ad aiutarmi?

Ringraziamenti anticipati,
Lollinos
34 messaggi dal 29 gennaio 2011
www.incante.135.it
Sono riuscito a risolvere l'errore.

Solo che ora appena termina di caricare ogni metodo dell'index.aspx.cs, la pagina diventa bianca, riportantdo un errore 404.

Ho provato ad ottenere l'html del box che aggiundo dinamicamente così:
StringWriter sw = new StringWriter();
            HtmlTextWriter htmlTextWriter = new HtmlTextWriter(sw);
            htmlGenericControl.RenderControl(htmlTextWriter);
            string str = sw.GetStringBuilder().ToString();
            str = str.Replace(source, target);


ed ottengo il seguente errore: "Il controllo 'edtusername' di tipo 'TextBox' deve essere inserito in un tag Form con runat=server.".

Non capisco il motivo del seguente errore, dato che questo div l oaggiungo in un'altro div che è contenuto dentro alla form, e da quanto so creare un oggetto dal code-behind è già come se fosse runat="server".

Spero mi riusciate a rispondere!
Grazie ancora!

-------
EDIT - Ho risolto, grazie lo stesso! ;)
Modificato da Lollinos il 13 giugno 2012 16.25 -

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.