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.
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>
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:
function NotIsNumber(L) {
var x = document.form1.dgvArticoli(L).txtQuantita.value;
alert((x==null) || (x.length==0) || (isNaN(x)));
}
oltretutto dopo aver eseguito la funzione lato client va in errore
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.