Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    GridView Campo Nascosto Hidden

    Ciao a tutti,
    prima di tutto un augurio di buon 2011 a tutti, oggi volevo chiedervi come poter gestire questa caso, in giro ho trovato qualcosa ma a me non fuziona, provo a spiegarmi,
    Ho un GridView:

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
    Width="100%" OnRowCommand="GridView1_RowCommand" >
    <Columns>
    <asp:HyperLinkField DataNavigateUrlFields="Categoria"
    DataTextField="categoria" HeaderText="Tipologia" />
    <asp:BoundField DataField="titolo" />
    <asp:BoundField DataField="descrizione" />
    <asp:TemplateField>
    <ItemTemplate>
    <asp:HiddenField id="idprodotto" value='<%# Eval("idprodotto")%>' runat="server" />
    </ItemTemplate>
    </asp:TemplateField>
    <asp:ButtonField ButtonType="Button" Text="Elimina" CommandName="Elimina"/>

    </Columns>

    </asp:GridView>

    Ho provato ad inserire un campo hidden nel quale mi ci inserisco l'idprodotto che dovrò usare in seguito, ora il problema è prendere i dati da questo campo hidden.
    Io stampo i dati in questo modo:
    MsgBox(GridView1.Rows(e.CommandArgument).Cells(1). Text)
    MsgBox(GridView1.Rows(e.CommandArgument).Cells(2). Text)
    MsgBox(GridView1.Rows(e.CommandArgument).Cells(3). Text)
    MsgBox(GridView1.Rows(e.CommandArgument).Cells(4). Text)

    I primi campi del gridview vengono stampati correttamente mentre il campo hidden mi torna vuoto.
    Dove sbaglio?
    Premetto che se al posto di quel campo metto un asp:BoundField riesco a prendere il valore tranquillamente.

    Grazie mille a tutti
    Ciao
    marco

  2. #2
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730
    lo devi andare a cercare
    penso che nel commandargument ci sia l'indice di riga giusto ?

    scrivo in c#

    codice:
    HiddenField hdIdProdotto = ((HiddenField)GridView1.Rows[e.CommandArgument].findcontrol("idprodotto"));
    
    string id = hdIdProdotto.Value;
    trasportalo tu in vb, l'importante è che hai capito la logica.
    devi cercare il controllo e fare un cast , poi è semplice riprendersi il valore.

    ciao!

  3. #3
    Grazie mille funziona,
    per compretezza, metto l'esempio in VB.

    Grazie mille ancora

    Dim h As HiddenField = DirectCast(GridView1.Rows(e.CommandArgument).FindC ontrol("idprodotto"), HiddenField)
    MsgBox(h.Value)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.