Bonjour à tous!
je travaille sur une application asp.net C#,
J'utilise un GridView pour afficher des données provenant d'une table de ma base SQL Server, je veux que lorsque je clique sur une ligne, une nouvelle page s'affiche contenant les informations des champs de la ligne sélectionnée.
donc j'ai créé une classe pour récupérer les champs une page pour mon gridview et une autre pour les détails:
voilà le code de l'venement de selection dans mon gridView:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
GridViewRow row = GridView1.SelectedRow;
Incident objIncident = new Incident();
objIncident.Id_Incident= int.Parse(GridView1.SelectedRow.Cells[1].Text);
objIncident.Login_Creation = GridView1.SelectedRow.Cells[2].Text;
objIncident.Login_Assigned = GridView1.SelectedRow.Cells[3].Text;
objIncident.Id_Type = int.Parse(GridView1.SelectedRow.Cells[4].Text);
objIncident.Id_Priorite = int.Parse(GridView1.SelectedRow.Cells[5].Text);
objIncident.Objet = GridView1.SelectedRow.Cells[6].Text;
objIncident.Objet = GridView1.SelectedRow.Cells[7].Text;
DetailIncident detail = new DetailIncident(objIncident);
Response.Redirect("DetailIncident.aspx");
} |
et voilà le code de ma classe qui va contenir les champs de la ligne et après depuis laquelle je peux les récupérer:
1 2 3 4 5 6 7 8 9 10 11
|
public class Incident
{
public int Id_Incident { get; set; }
public string Login_Creation { get; set; }
public string @Login_Assigned { get; set; }
public int @Id_Type { get; set; }
public int @Id_Priorite { get; set; }
public string @Objet { get; set; }
public string @Description { get; set; }
} |
et enfin voilà le code de ma page qui va contenir les champs de la ligne sélectionnée:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace afficherListeIncident1
{
public partial class DetailIncident : System.Web.UI.Page
{
private Incident monIncident;
protected void Page_Load(object sender, EventArgs e)
{
AffichageDonnees();
}
public DetailIncident(Incident unIncident)
{
this.monIncident = unIncident;
}
private void AffichageDonnees()
{
L_Id_Incident.Text = this.monIncident.Id_Incident.ToString();
L_Creation.Text = this.monIncident.Login_Creation;
L_Assigned.Text = this.monIncident.Login_Assigned;
L_Idtype.Text = this.monIncident.Id_Type.ToString();
L_Priorite.Text = this.monIncident.Id_Priorite.ToString();
L_objet.Text = this.monIncident.Objet;
L_description.Text = this.monIncident.Description;
}
}
} |
Mon problème c'est que lorsque je clique sur ""sélectionner", un erreur apparait mpe disant : "La référence d'objet n'est pas définie à une instance d'un objet"
et c'est au niveau de cette ligne de la deuxieme page "DetailIncident"
L_Id_Incident.Text = this.monIncident.Id_Incident.ToString();
quelqu’un à une idée comment réparer ça!
Partager