Ciao a tutti, ho cercato un po in giro ma non riesco a trovare cio che mi serve
Io ho una DataGridView con all'interno una TextBox e un Button.
Ora vorrei controllare (lato client, quindi con OnClientClick sul pulsante) se il valore della textbox è un numero. Per controllare se è un numero ho già la funzione in javascript ma non so come identificare la textbox su cui fare il controllo(dovrei passare ad esempio la riga selezionata come parametro)codice:<asp:GridView ID="dgvArticoli" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="#000066" BorderStyle="Solid" BorderWidth="1px" CellPadding="4" Font-Names="Comic Sans MS" ForeColor="Black" GridLines="Vertical" HorizontalAlign="Center" Width="800px"> <FooterStyle BackColor="#CCCC99" /> <Columns> <asp:BoundField DataField="Descrizione" HeaderText="Descrizione" /> <asp:ImageField DataImageUrlField="ImgSrc" HeaderText="Immagine"> </asp:ImageField> <asp:BoundField DataField="Quantita" HeaderText="Quantità" /> <asp:BoundField DataField="Prezzo" HeaderText="Prezzo" /> <asp:TemplateField HeaderText="Quantità da comprare"> <ItemTemplate> <asp:TextBox ID="txtQuantita" Visible="true" runat="server" Width="50"> </asp:TextBox> </ItemTemplate> </asp:TemplateField> <asp:TemplateField> <ItemTemplate> <asp:Button ID="btnCompra" runat="server" OnClientClick="NotIsNumber(dgvArticoli.SelectedRow)" Text="Compra" /> </ItemTemplate> </asp:TemplateField> </Columns> <RowStyle BackColor="White" /> <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" /> <HeaderStyle BackColor="#248BD9" Font-Bold="True" ForeColor="Black" HorizontalAlign="Center" VerticalAlign="Middle" /> <AlternatingRowStyle BackColor="White" /> </asp:GridView>
oltretutto dopo aver eseguito la funzione lato client va in errorecodice:function NotIsNumber(L) { var x = document.form1.dgvArticoli(L).txtQuantita.value; alert((x==null) || (x.length==0) || (isNaN(x))); }
codice:Argomento di postback o callback non valido. La convalida degli eventi viene abilitata mediante <pages enableEventValidation="true"/> nella configurazione oppure mediante <%@ Page EnableEventValidation="true" %> in una pagina. Per motivi di sicurezza, viene verificato che gli argomenti con cui eseguire il postback o il callback di eventi siano originati dal controllo server che ne aveva inizialmente eseguito il rendering. Se i dati sono validi e previsti, utilizzare il metodo ClientScriptManager.RegisterForEventValidation per registrare i dati di postback o callback per la convalida.

Rispondi quotando