64 messaggi dal 16 novembre 2009
this_did_the_trick ha scritto:
Ciao,
francamente non capisco perchè non funzioni ... :(
Un altro tentativo potrebbe essere quello di inserire il codice che ti ho postato nel PreRender del FormView:

protected void FormViewDettArticolo_PreRender(object sender, System.EventArgs e)
{
FormView fw = (FormView)sender;
TextBox txt = fw.FindControl("TextBoxQta") as TextBox;
string TuaStringa = txt.Text.ToString();
}


ciao grazie della risposta, a questo punto penso di aver combinato io qualcosa che non va questa è la pagina aspx col codice

 
 
<asp:FormView ID="FormViewDettArticolo" runat="server"  
        onprerender="FormViewDettArticolo_PreRender1"> 
        <ItemTemplate> 
            <table style="width: 700px;"> 
                        <tr> 
                            <td colspan="2" style="width:400px; height:400px;"> 
                            <img alt="<%# Eval("cod") %>" src="http://miosito/images/foto/<%# Eval("percFoto")%>" /> 
                            </td> 
                        </tr> 
                        <tr> 
                            <td style="width:100px;"> 
                                Codice: 
                            </td> 
                            <td style="width:200px"> 
                                <asp:Label ID="LabelCodice" runat="server" Text='<%# Eval("cod") %>'></asp:Label> 
                            </td>                                        
                        </tr> 
                        <tr> 
                            <td> 
                                Descrizione: 
                            </td> 
                            <td> 
                                <asp:Label ID="LabelDescrizione" runat="server" Text='<%# Eval("descr") %>'></asp:Label> 
                            </td> 
                        </tr> 
                        <tr> 
                            <td> 
                                Minimo ordinabile: 
                            </td> 
                            <td> 
                                <asp:Label ID="LabelMin" runat="server" Text='<%# Eval("min") %>'></asp:Label> 
                                <asp:Label ID="LabelDisAtt" Visible="false" runat="server" Text='<%# Eval("disAtt") %>'></asp:Label> 
                            </td> 
                        </tr> 
                        <tr> 
                            <td> 
                                Prezzo: 
                            </td> 
                            <td> 
                                ¤<asp:Label ID="LabelPrezzo" runat="server" Text='<%# Eval("prezzo") %>'></asp:Label> 
                            </td> 
                        </tr> 
                        <tr> 
                            <td> 
                                Iva: 
                            </td> 
                            <td> 
                                <asp:Label ID="LabelIva" runat="server" Text='<%# Eval("iva") %>'></asp:Label> 
                            </td> 
                        </tr> 
                        <tr> 
                            <td> 
                                Categoria: 
                            </td> 
                            <td> 
                                <asp:Label ID="LabelCategoria" runat="server" Text=""></asp:Label> 
                            </td> 
                        </tr>  
                        <tr> 
                            <td> 
                                Scarica foto: 
                            </td> 
                            <td> 
                                <asp:HyperLink ID="HyperLinkFoto" runat="server"></asp:HyperLink> 
                            </td>                             
                        </tr>  
                        <tr> 
                            <td> 
                             
                                <asp:Button ID="ButtonAggiungi" runat="server" Text="Aggiungi"  
                                    onclick="ButtonAggiungi_Click" /> 
                                <asp:TextBox ID="TextBoxQta" runat="server" CssClass="TextBox"></asp:TextBox> 
                                                                   
                            </td> 
                         
                        </tr>                                              
                    </table> 
        </ItemTemplate> 
     
    </asp:FormView> 
 

Modificato da CristianVr il 07 luglio 2010 13.53 -
60 messaggi dal 17 giugno 2003
scusa ma ti da errore

TextBox txt= (TextBox)FormView1.FindControl("TextBoxQta");

(in c#)

oppure ti da errore quando cerchi di utilizzare il valore della textbox con

txt.Text

l'errore si verifica con la textbox vuota o sempre?

in ogni caso conviene settare la proprietà Text

<asp:TextBox ID="TextBoxQta" runat="server" Text="0" CssClass="TextBox"></asp:TextBox>

in ogni caso devi tener presente che al click del bottone si scatena il post back della pagina
12 messaggi dal 17 febbraio 2002
Prova così:

TextBox txt = FormView1.Row.Cells(0).FindControl("TextBoxQta");

Il FormView è analogo ad una unica Row con unica Cell di un GridView.

Con questo formato puoi trovare tutti i controls che ti servono.
60 messaggi dal 17 giugno 2003
come dicevo il click genera il postback e perdi il valore della textxob quindi la conversione in intero ti da errore perchè la stringa (il valore sella textbox) è vuota.

quindi ho gestisci il click lat client o usi un update panel con trigger il click del bottone.

dipende da ciò che devi fare al click del bottone
12 messaggi dal 17 febbraio 2002
Se il ViewState è abilitato, il postback non fa perdere il contenuto della textbox, ci mancherebbe! Meglio controllare anche questo.

Il problema è semplicemente dovuto al fatto che la textbox è in un contenitore (da ItemTemplate) del FormView, non a livello FormView.

La soluzione che io uso funziona, basta provare.
Modificato da cesare.esposito il 09 luglio 2010 09.11 -
64 messaggi dal 16 novembre 2009
cesare.esposito ha scritto:
Prova così:

TextBox txt = FormView1.Row.Cells(0).FindControl("TextBoxQta");

Il FormView è analogo ad una unica Row con unica Cell di un GridView.

Con questo formato puoi trovare tutti i controls che ti servono.



no funziona e per di più non i genera nessun errore, anche se ho dovuto modificare quello che hai scritto perchè mi dava errore:
Impossibile convertire in modo implicito il System.Web.Ui.Control in System.Web.Ui.WebControl.TextBox. E' presente una conversione esplicita. Probabile Cast mancante.

L'ho cambiato in questo:


TextBox txt = FormViewDettArticolo.Row.Cells[0].FindControl("TextBoxQta") as TextBox;
12 messaggi dal 17 febbraio 2002
Spiacente per l'errata istruzione, io lavoro in VB e ho tentato una traslazione al volo.

Da me funziona, in VS10, forse c'è qualche altro problema.
In ogni caso dai un'occhiata a questo link:

http://weblogs.asp.net/dwahlin/archive/2006/08/25/Finding-ASP.NET-Child-Controls_2E002E002E002E00_The-Simple-Way.aspx

Suggerisce un'alternativa, ma soprattutto conferma quanto ti dicevo sui controlli nidificati. L'esempio calza a pennello con il tuo caso.
64 messaggi dal 16 novembre 2009
cesare.esposito ha scritto:
Spiacente per l'errata istruzione, io lavoro in VB e ho tentato una traslazione al volo.

Da me funziona, in VS10, forse c'è qualche altro problema.
In ogni caso dai un'occhiata a questo link:

http://weblogs.asp.net/dwahlin/archive/2006/08/25/Finding-ASP.NET-Child-Controls_2E002E002E002E00_The-Simple-Way.aspx

Suggerisce un'alternativa, ma soprattutto conferma quanto ti dicevo sui controlli nidificati. L'esempio calza a pennello con il tuo caso.


figurati non preoccuparti! ho provato ed ho notato dall'esempio in allegato che il pulsante è all'esterno del formview il mio invece era all'interno... cmq adesso mi da un errore almeno:

Riferimento a un oggetto non impostato su un'istanza di oggetto.

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.