Bonjour,
J’espère que vous alliez bien et que vous pouvez m'aider pour afficher un objet dans un autre formulaire webform.
cette méthode me permet d'afficher les paramètres d'un objet (ici un client) dans un formulaire (winform) afin de l'éditer.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| private void btnModify_Click(object sender, System.EventArgs e)
{
// Cette condition devrait toujours être évaluée à true étant donné qu'on fait les checks
// nécessaire avant (désactivation du bouton si listView vide)
if(this.lstViewUser.Items.Count > 0) // S'il y a au moins un élément
{
// Alors on créer un client
Client c = new Client();
// On récupère le premier élément du listView
ListViewItem lvi = this.lstViewUser.Items[0];
// On affecte maintenant les valeurs à notre client :
c.EMail = lvi.SubItems[2].Text;
c.FirstName = lvi.SubItems[1].Text;
c.LastName = lvi.Text;
// On créer la nouvelle form en y passant le paramètre
frmNewUser newUser = new frmNewUser(c);
/* Ici on s'abonne à l'event qui nous permettra de savoir quand et quoi ajouter dans notre
* listView */
newUser.Client_Added += new frmNewUser.AddClientEventHandler(this.newUser_Client_Added);
newUser.ShowDialog(); // On l'affiche
}
} |
Mois j'ai fait la même chose dans ma méthode sachant que mon projet est un webforms et le problème j'arrive bien créer mon web form et quand je débugge je vois bien qu'il m'affecte tous les champs en passant les paramètres de mon objet Utilisateur, il me reste juste à trouver la propriété qui me permet d'afficher ma form en affectant ces valeurs dans les textbox.
<form id="form1" runat="server" method="POST">
===========>en mode post
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| protected void ButtonUpdate_Click(object sender, EventArgs e)
{
//Instancier un serviceClient
ServiceReferenceWebForms.Service1Client client = new ServiceReferenceWebForms.Service1Client();
Dictionary<string, DoUtilisateur> dctUtilisateur = new Dictionary<string, DoUtilisateur>();
foreach (GridViewRow row in GridView1.Rows)
{
//lets find a checkbox
//var chk = row.Cells[0].FindControl("chkDelete") as CheckBox;
var chk = row.FindControl("chkDelete") as CheckBox;
//GridView1.Rows[1].Cells[0].Controls[1]
if (chk.Checked)
{
//find id user depend on which we'll perfor deletion
string lblID = (row.FindControl("lblID") as Label).Text;
//Création nouveau data object utilisateur (Creating a new user data object)
//qui aura le meme ID de l'enrigistrement coché
DoUtilisateur utilisateur = client.GetUserDoByColumnValue(lblID)[lblID];
//On stock l'utilisateur dans un dico
dctUtilisateur.Add(utilisateur.Id, utilisateur);
}
}
//on se redirigera vers la page frmeEditUser.aspx si une ligne est selectionée
if (dctUtilisateur.Count > 0)
{
//on crée la nouvelle form en y passant le paramètre
frmEditUser edituser = new frmEditUser(dctUtilisateur.Values.First<DoUtilisateur>());
//TODO afficher le formulaire editeuser
string redirect = edituser.ResolveUrl("~/frmEditUser.aspx");
il m'affiche le formulaire vide
Server.Transfer(redirect);
}
} |
Merci par avance
Cordialement,
Partager