13 messaggi dal 30 luglio 2007
ciao ragazzi
ho questo problema:

nell'aspx ho un Gridview con innestato in un templateitem un textbox.

                    <asp:GridView ID="GWCodBar" runat="server" AutoGenerateColumns="false" CssClass="RisRicerca"
                        GridLines="None" OnRowDataBound="GWCodBar_RowDataBound">
                        <Columns>
                            <asp:BoundField ItemStyle-Width="70" DataField="codiceAssociato" HeaderText="Codice"
                                ItemStyle-HorizontalAlign="Center" />
                            <asp:TemplateField ItemStyle-Width="" HeaderText="Varianti">
                                <ItemTemplate>
                                    <asp:BulletedList ID="Varianti" CssClass="leftAlign" runat="server">
                                    </asp:BulletedList>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField ItemStyle-Width="50" HeaderText="Vendita">
                                <ItemTemplate>
                                    <asp:Literal ID="QtaVendita" runat="server"></asp:Literal>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField ItemStyle-Width="30" HeaderText="Sc.">
                                <ItemTemplate>
                                    <asp:Literal ID="Sconto" runat="server" Text=""></asp:Literal>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField ItemStyle-Width="50" HeaderText="Prezzo">
                                <ItemTemplate>
                                    <asp:Literal ID="Prezzo" runat="server" Text=""></asp:Literal>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField ItemStyle-Width="50" HeaderText="Qtà Ord."  >
                                <ItemTemplate>
                                    <asp:TextBox ID="qtaOrdinata" CssClass="qtaOrdinata" EnableViewState="true" runat="server"></asp:TextBox>
                                    <asp:HiddenField ID="Hcodbar" Value='<%# Bind("CodBar") %>' runat="server"  />
                                    
                                    <asp:CompareValidator ValidationGroup="QtaAcquistata" ID="CompareValidator1" runat="server"
                                        Display="None" ControlToValidate="qtaOrdinata" ValueToCompare="0" Operator="GreaterThanEqual"
                                        Text="Quantità maggiore o uguale a 1" ErrorMessage="Quantità maggiore o uguale a 1">
                                    </asp:CompareValidator>
                                    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" ErrorMessage="Inserire un numero"
                                        Text="Inserire un numero" ControlToValidate="qtaOrdinata" Display="None" ValidationExpression="[0-9]"
                                        runat="server"></asp:RegularExpressionValidator>
                                    <ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" CssClass="Error" WarningIconImageUrl="/App_Themes/img/struttura/Alert.jpg"
                                        HighlightCssClass="FormError" TargetControlID="RegularExpressionValidator1" runat="server">
                                    </ajax:ValidatorCalloutExtender>
                                    <ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" CssClass="Error" WarningIconImageUrl="/App_Themes/img/struttura/Alert.jpg"
                                        HighlightCssClass="FormError" TargetControlID="CompareValidator1" runat="server">
                                    </ajax:ValidatorCalloutExtender>
                                </ItemTemplate>
                            </asp:TemplateField>
                        </Columns>
                        <AlternatingRowStyle CssClass="stripeTR" />
                    </asp:GridView>



Al click su un bottone lancio questo metodo



    protected void AcquistaOra_onClick(object sender, EventArgs e) {

        GridView gw = (GridView)Master.Master.FindControl("PHMainContent").FindControl("PHGrigliaCodBar").FindControl("LoginCodBar").FindControl("GWCodBar");

        foreach (GridViewRow g in gw.Rows) {

            string qta = ((TextBox)g.FindControl("qtaOrdinata")).Text;
            string codBar = ((HiddenField)g.FindControl("Hcodbar")).Value;

            //Response.Write(((TextBox)g.FindControl("qtaOrdinata")).ClientID + "   " + ((TextBox)g.FindControl("qtaOrdinata")).Text + "<bR>");

            if (!string.IsNullOrEmpty(qta) && int.Parse(qta) > 0) {
                CodiceBarre cb = new CodiceBarre();
            }


        }
    }


purtroppo non riesco a ricavare il valore del textbox che mi risulta sempre stringa vuota.


Avete qualche idea in merito?

grazie!
Modificato da aran benjo il 16 marzo 2009 12.03 -
184 messaggi dal 22 giugno 2008
credo che il problema stia proprio qui:
   GridView gw = (GridView)Master.Master.FindControl("PHMainContent").FindControl("PHGrigliaCodBar").FindControl("LoginCodBar").FindControl("GWCodBar");

Non capisco cosa ti impedisce di creare una nuova istanza del gridview così:
GridView gw=GWCodBar


ma sto grid view dove sta??? si trova forse in una master page???? in ogni caso per crearne una nuova istanza dovresti fare come ti ho suggerito io.
13 messaggi dal 30 luglio 2007
è dentro 2 master annidati, e dentro a vari contentplaceholder
per questo devo usare questa sintassi per ritrovarlo.

il mio problema nn è creare l'istanza del gridview...
il problema è capire perchè il textbox risulta vuoto anche se non lo è.

grazie cmq
13 messaggi dal 30 luglio 2007
apparentemente è dovuto dal fatto che il gw era popolato tramite un bind dal codebehind della pagina.
Inserendo un ods collegato al gw tutto sembra funzionare bene e mantiene gli stati

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.