Récupérer des données à partir visibles faux BoundField de contrôle Gridview

J'ai cette BoundField dans un GridView

<asp:BoundField DataField="ReportId" HeaderText="RId" Visible="false" />

Mais quand j'essaie d'obtenir le texte dans ce champ, elle retourne vide.

protected void gvwReports_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "ViewSchedule")
    {
        int index = Convert.ToInt32(e.CommandArgument);
        GridViewRow row = gvwReports.Rows[index];
        string s = row.Cells[0].Text;
    }
}

mais, il renvoie une valeur correcte si je change BoundField's .Visible propriété true

  • Je pense à certains d'optimisation qui se passe derrière les coulisses et la liaison n'a pas lieu jusqu'à ce qu'il devienne visible.
  • pouvez-vous essayer à l'aide d'un simple code html de style display none
  • Je viens de lier la source de données en mode normal. aussi n'avez pas beaucoup de experiese de contrôle Gridview.
  • Le Visible="false" ne pas "cacher" ce domaine sur le client, il n'a même pas d'envoyer les données vers le bas de le client. Il est donc impossible de le récupérer de le client. Donc au lieu de mettre Visible="false", utiliser un CssClass qui va le cacher de la vue sur le client, mais les données seront toujours là. Ensuite, les données seront de nouveau disponibles côté serveur sur une publication. Juste comme FROID, DIT le suggère, mais sans la faute de frappe 🙂 et n'oubliez pas de régler la visibilité de l'en-tête.
InformationsquelleAutor Darshana | 2012-07-14