J'ai regard gridview comme celui-ci liste de transfert des données de gridview à une autre page
Tout utilisateur temps, cliquez sur le bouton Bookmark, je veux envoyer le ProgramID de cette ligne à la liste et le transférer vers une autre page en utilisant Session.But mon gridview transférer tout le programID, même si cet ID existait dans la liste. Qu'est-ce que je fais mal? Voici le code pour le bouton Bookmark:
protected void btnSelect_Click(object sender, EventArgs e)
{
Button b = (Button)sender;
GridViewRow row = (GridViewRow)b.NamingContainer;
var ProgramID = row.FindControl("lblProgramID") as Label;
string stringProgramID = ProgramID.Text;
List<string> bookmarkPrograms = (List<string>)Session["BookmarkProgram"];
if (bookmarkPrograms == null)
bookmarkPrograms = new List<string>();
bookmarkPrograms.Add(stringProgramID);
Session["BookmarkProgram"] = bookmarkPrograms;
}
Et voici le code pour le gridview dans une autre page:
protected void Page_Load(object sender, EventArgs e)
{
List<string> bookMarkPrograms = (List<string>)Session["BookmarkProgram"];
GridView1.DataSource = bookMarkPrograms;
GridView1.DataBind();
}
Ouais, tu as raison. Je dois ajouter quelque chose comme: if (bookmarkPrograms == null) bookmarkPrograms = nouveau Liste(); dans mon code pour créer une nouvelle liste à la première fois et continuez d'ajouter plus de chaîne s'il s'agit de la deuxième fois. –
Kranatos
J'ai mis à jour avec une autre suggestion pour faire cette logique dans une ligne – Fenrir88
Merci pour votre réponse. Je viens de comprendre et mis à jour mon code dans # 1 post.Now transfère tous programID chaque fois que l'utilisateur clique sur ce bouton, mais le problème est qu'il continue à ajouter la chaîne dans la liste, même si cette programID existait dans la liste already.Do vous savez comment vérifier la valeur dans la liste ?? – Kranatos