2011-05-20 1 views
0

Je suis nouveau à ASP.NET 4.0. Dans mon projet, les données sont affichées dans la vue Grille. L'utilisateur sélectionne une ligne à modifier en fonction de deux valeurs stockées dans la base de données. Mon code pour appeler une seule valeur est donné ici. Comment puis-je obtenir des données basées sur deux valeurs de la base de données. S'il vous plait, j'ai besoin de votre aide avec ceci.Comment appeler plus d'une valeur dans Vue grille dans ASP.NET 4.0 C# .net

grdViewVacationInfo_RowCommand() 
{ 
      if (e.CommandName == "ViewInfoBtn") 
      { 
       int index = int.Parse(e.CommandArgument.ToString()); 
       string key = grdViewVacationInfo.DataKeys[index].Value.ToString(); 
       Session["ke"] = key.ToString(); 
      } 
} 

Voici comment appeler une seule valeur. mais comment puis-je obtenir les plus de deux valeurs et le stocker dans une session ou une variable.

Merci à l'avance

Répondre

0

vous pouvez essayer cela Fatch la valeur de la colonne de la grille.

grdViewVacationInfo.Rows[grdViewVacationInfo.SelectedIndex]..Cells[yourcellindex].Text; 
0

Comme vous utilisez déjà DataKeys vous y êtes déjà pour la plupart. DataKeys peut contenir plus d'une valeur - il suffit de séparer les noms de colonnes que vous voulez avec des virgules:

<asp:gridview runat="server" id="grdViewVacationInfo" 
    DataKeyNames="Column1, Column2" 
... 
</asp:gridview> 

Puis dans votre événement RowCommand, vous accédez aux valeurs DataKey par index:

grdViewVacationInfo_RowCommand() 
{    
    if (e.CommandName == "ViewInfoBtn") 
    {     
     int index = int.Parse(e.CommandArgument.ToString()); 
     string key1 = grdViewVacationInfo.DataKeys[index].Value[0].ToString(); 
     string key2 = grdViewVacationInfo.DataKeys[index].Value[1].ToString(); 
     Session["ke"] = key1; 
     Session["ke2"] = key2; 
    } 
} 
+0

Merci, mais. ça ne marche pas. Il montre une erreur comme "Impossible d'appliquer l'indexation avec [] à une expression de type 'objet'" – user177777

Questions connexes