Vous êtes sur la page 1sur 34

Pour créer un projet en ASP.

Net

Après la création d’un projet vide sous forme d’un formulaire. On ajoute une page de type formulaire
à notre projet.

La nouvelle page est sous la forme suivante, elle est très proche à une page html, la seule différence
avec c’est l’option ( runat="server" ), pour nous dire c’est une page à exécuter au côté du serveur.

P a g e 1 | 34
Dans cette page nous pouvons utiliser le mode graphique ou le mode code ou les deux en même
temps.

A titre d’exemple on fait l’insertion d’un objet bouton afin de voir la différence entre une page html
et une page asp.net.

Il y a aussi une autre possibilité d’ajouté le code C# dans un autre fichier .cs sous forme d’une classe,
où il y a le contrôleur de cette page.

Dans ces types de projets nous avons la possibilité d’exécuter deux types de codes :

Contrôle web html : des actions dans la page html

Contrôle web C sharp : des actions au niveau du serveur.

Voilà un exemple :

On insère un tableau de 3 lignes et 2 colonnes dans notre page asp précédente :

P a g e 2 | 34
Puis on choisit le nombre de ligne et colonnes :

On fait glisser les objets dans notre page comme le cas d’un formulaire dans un projet ADO.net.

Pour changer le texte du bouton on clique droit sur la souris afin de modifier ses propriétés.

Voilà une proposition du code C# pour ajouter un contrôle au niveau cette page :

Ce code doit être exécuté au niveau de serveur IIS.

Par contre si on veut écrire un code compilé au niveau de la page html, dans ce cas-là, on a besoin
d’un bouton de type html, afin de l’insérer on clique sur l’onglet html dans la boite à outils.

L’action du bouton bonjour, peut être écrite en html ou JavaScript et elle s’exécute au compilateur
html.

P a g e 3 | 34
1. Validation des champs au niveau des formulaires asp.Net
Exemple 1 : RequiredField
On veut demander à l’utilisateur de saisir son nom puis son prénom, après en cliquant sur le bouton
qui nous donne le nom complet, au cas où le champ nom est vide un contrôle en rouge sera affiché
« ce champ obligatoire ! »

Pour ce faire, on suit les étapes ci-dessous :

Voilà le code de la ligne champ obligatoire de la page aspx, en ajoutant l’objet RequiredField, afin de
vérifier le champ nom est ce qu’il est bien rempli.

P a g e 4 | 34
-Proposer le code C# dans le bouton afin d’afficher le nom et le prénom dans la troisième zone de
texte.

-Essayer de faire l’exécution de cette page si vous avez toujours un problème, insérer la ligne
suivante dans le fichier « web.config ».

Exemple 2 : CompareValidator


Dans l’exemple suivant on va faire la vérification de mot de passe :

Pour avoir le même résultat on peut suivre les étapes ci-dessous

Exemple 3 : RangeValidator : Intervalle (valeur maximale et valeur minimale)


Voilà le formulaire qu’on demande à réaliser. A condition la note doit être appartient à l’intervalle :
[0,20].

Pour ce faire, on insère un objet : RangeValidator  à côté de la zone de texte note, puis on applique
les étapes ci-dessous.

P a g e 5 | 34
Exemple 4 : RegularExpressionValidator, afin de spécifier la forme d’une écriture d’un
champ.

Pour ce faire, on insère un objet : RegularExpressionValidator à côté de la zone de texte site web,
puis on applique les étapes ci-dessous.

Vous pouvez spécifier d’autres types d’expressions, en cliquant sur validationExpression afin de voir
d’autres formules :

P a g e 6 | 34
Exemple 5 : ValidationSummary, afin d’écrire un résumé des différentes erreurs citées.
Appliquant ce contrôle à l’exemple précédent, où il y a deux contrôles : donc on veut afficher un
résumé à la fin.

Remarque position Absolue : pour qu’on puisse bouger les objets dans
une page web facilement, il faut activer ce qu’on appelle
positionnement absolu, pour ce faire on clique sur l’objet puis
formatposition … -Absolu.
Exemple 6 : Validation Groupe, afin de lier les contrôles souhaités avec un bouton bien
précisé.
Par exemple nous avons cette page avec le formulaire suivant :

On ajoute le code CSharp suivant, dans le bouton Retour pour le faire passer à une autre page :

Response.Redirect("Page0.aspx");
Si nous appliquons un contrôle au niveau de deuxième mot de passe, n’importe quel bouton
peut nous afficher le résultat de cette vérification. Hors on veut la vérification passe au
moment en clique sur le bouton envoyer.
Dans ce cas-là on ajoute validation groupe, à la propriété de contrôle et le bouton Envoyer.

Exemple 7 : Contrôle utilisateur, son rôle principal c’est de créer un une partie d’une page
ou une partie d’un code, qu’on va l’utiliser plusieurs fois.

Par exemple l’authentification on peut la trouver dans plusieurs pages web, donc on réalise
son code à part dans un contrôle utilisateur, puis on la glisse à chaque moment.

P a g e 7 | 34
Et voilà on peut réutiliser le code sans le refaire dans plusieurs pages, il devient comme un
objet on peut le manipuler plusieurs fois.
Remarque importante : le moment où on glisse notre contrôle utilisateur dans la page
souhaitée, il faut vérifier les champs suivants :

2. Page Master (pages maîtres)


Les pages maîtres ASP.NET permettent de créer une disposition cohérente des pages de
l’application. Une page maître unique définit l'apparence et le comportement standard que
vous souhaitez pour toutes les pages (ou groupe de pages) de votre application. Vous pouvez
ensuite créer des pages de contenu individuelles comportant les éléments que vous souhaitez
afficher. Lorsque les utilisateurs demandent les pages de contenu, ils fusionnent avec la page
maître pour générer une sortie qui associe la disposition de la page maître aux éléments de la
page de contenu.
a- Mode de fonctionnement des pages maîtres
Les pages maîtres se composent réellement de deux parties, la page maître elle-même et une
ou plusieurs pages de contenu.
Une page maître est un fichier ASP.NET possédant l'extension .master (par exemple,
Site1.master) avec une disposition prédéfinie pouvant inclure du texte statique, des éléments
HTML et des contrôles serveur. La page maître est identifiée par une directive @ Master
spéciale qui remplace la directive @ Page utilisée pour les pages .aspx ordinaires. L'apparence
de la directive peut se présenter comme suit.

<%@ Master Language="C#" CodeFile="MasterPage.master.cs"


Inherits="MasterPage" %>

Outre la directive @ Master, la page maître contient également tous les éléments HTML de
niveau supérieur d'une page tels que html, head et form. Par exemple, sur la page maître, vous
pouvez utiliser un tableau HTML pour la disposition, un élément img pour le logo de votre
société, du texte statique pour le copyright et des contrôles serveur pour créer la navigation
standard de votre site. Vous pouvez utiliser tous les éléments HTML ASP.NET dans votre
page maître.
b- Espaces réservés de contenu remplaçables
Outre le texte statique et les contrôles qui apparaissent sur toutes les pages, la page maître
inclut également un ou plusieurs contrôles ContentPlaceHolder. Ces contrôles réservés
définissent des régions où le contenu remplaçable apparaîtra. Ensuite, le contenu remplaçable
P a g e 8 | 34
est défini dans les pages de contenu. Une fois que vous avez défini les
contrôles ContentPlaceHolder, une page maître peut se présenter comme suit.

c- Pratique :
Pour ajouter une page Master, en premier lieu on créer un nouvel élément de ce type :

On peut enlever les balises asp:ContentPlaceHolder, en attendant la finalisation de la page


Master.

Voilà l’exemple de la page Master :

1-insérer un tableau de deux colonnes et deux lignes :

2-Modifier chaque cellule avec la forme demandée, en utilisant l’onglet propriété.

3-Ajouter l’objet ContentPlaceHolder : la zone modifiable.

Maintenant nous avons fabriqué un Model page Master. Pour avoir le même Model sans faire copier-
coller du code. On ajoute un nouvel élément et cette fois ci, o sélectionne : web form avec page
maître.

Puis on fait notre choix selon le model préféré : Dans notre exemple nous avons déjà Site1.Master

P a g e 9 | 34
Finalement avec cette manière on peut construire des pages identiques à notre page Maître.

Travail à faire 1 : l’utilisation des objets response et Session


Le TP demandé, est de créer 4 pages, de même style que la page Master, et de faire la liaison avec
chaque bouton et sa page :

Exemple si on clique sur le bouton accueil, il nous envoie vers sa page.

On utilise le code C Sharp suivant :

Response.Redirect("NomPage.aspx");
Lorsqu’on clique sur le bouton s’authentifier cette page s’affiche :

Le moment où l’utilisateur clique sur le bouton envoyer, après la saisie de son mot de passe et son
login, notre application web nous donne une 5 ième page ci-dessous de même style que la page
Master.

On aura besoin de déclarer une variable globale connue par les deux pages, pour ce faire il faut
ajouter ce code dans le bouton Envoyer.

//déclaration d'une variable globale


Session["login"] = TextBox1.Text;
Response.Redirect("BienInscrit.aspx");

Ajouter un contrôle au niveau du login si l’utilisateur a laissé cette zone de texte vide.

P a g e 10 | 34
Travail à faire 2 : l’utilisation des objets Request avec QueryString
Ici notre objectif c’est de pratiquer les objets Request et QueryString au lieu session :

Donc le code dans le bouton Envoyer sera comme suivant :

//déclaration d'une variable globale


/*Session["login"] = TextBox1.Text;
Response.Redirect("BienInscrit.aspx");
*/
Response.Redirect("BienInscrit.aspx?login=" +
TextBox1.Text);

Et dans le load de la page suivante est :

protected void Page_Load(object sender, EventArgs e)


{
//Label2.Text = "Bienvenue
"+Session["login"].ToString()+" sur notre site Arc-en-ceil !";

Label2.Text = "Bienvenue
"+Request.QueryString["login"].ToString() + " sur notre site Arc-
en-ceil !";
}

Travail à faire 3 : l’utilisation d’objet Cookies

On veut afficher les deux informations login et mot de passe dans une autre page bienvenue, comme
la capture ci-dessus.

Cette fois ci : on écrit le code suivant, dans le bouton Envoyer en utilisant la 3 ième Méthode :

//déclaration d'une variable globale


/* Méthode 1 Session
Session["login"] = TextBox1.Text;
Response.Redirect("BienInscrit.aspx");
*/
/* Méthode 2 QueryString
Response.Redirect("BienInscrit.aspx?login=" +
TextBox1.Text);
*/
// Méthode 3 Cookies
HttpCookie coo = new HttpCookie("Inscription");
//coo est un tableau des valeurs
P a g e 11 | 34
coo.Values.Add("login", TextBox1.Text);
coo.Values.Add("password", TextBox2.Text);
Response.Cookies.Add(coo);
Response.Redirect("BienInscrit.aspx");

Par contre la page suivante sera comme suivante (ce code doit être dans l’événement Load)
protected void Page_Load(object sender, EventArgs e)
{
/*Méthode 1

Label2.Text = "Bienvenue "+Session["login"].ToString()+" sur


notre site Arc-en-ceil !";
*/
/*Méthode 2

Label2.Text = "Bienvenue
"+Request.QueryString["login"].ToString() + " sur notre site Arc-en-
ceil !";
*/
//Méthode 3
HttpCookie coo = Request.Cookies["Inscription"];
Label2.Text = "Bienvenue
"+coo.Values.Get("login").ToString();
Label1.Text = "Voilà votre mot de passe :
"+coo.Values.Get("password").ToString();

}
Travail à faire 4 : Télécharger un fichier à partir le serveur, ou Envoyer un
fichier depuis le client.
On ajoute un bouton «Télécharger » dans la page Cours en ligne

P a g e 12 | 34
Afin de lancer le téléchargement d’un fichier par exemple « chapitre1.docx » dans un dossier
« telechargement »

Voilà le code CSharp dans le bouton « Envoyer »


protected void Button5_Click(object sender, EventArgs e)
{
Response.ContentType = "Telechargement/chapitre1.docx";
Response.AddHeader("content-Disposition", "attachment;filename="
+ "chapitre1.docx" + ";");

Response.TransmitFile(Server.MapPath("Telechargement/chapitre1.docx"));
}

Le deuxième objectif c’est comment charger un fichier dans le serveur depuis la machine
cliente.
Le même principe on ajoute un objet FileUpload et un bouton « charger votre cv », comme
la capture ci-dessous :

Au cas où, l’utilisateur n’a rien choisi comme fichier un contrôle au niveau de l’action
Envoyer doit être fait.
protected void Button6_Click(object sender, EventArgs e)
{
string path = Server.MapPath("CvsCandidat/");
string nomcv;
if(this.FileUpload1.HasFile==true)
{
nomcv = FileUpload1.FileName;
FileUpload1.SaveAs(path + nomcv);
}
}

P a g e 13 | 34
3. Connexion à la base de données

Cet axe est focalisé surtout sur la communication avec la base de données, en Mode
Déconnecté, et Mode Connecté
La base de données utilisée dans cet axe est EFF2016.
Avant tout en insérant dans notre page aspx un objet GridView afin d’afficher les données
charger de la base de données.

Puis dans l’évènement Load on écrit le même code qu’on a écrit dans le Module ADO.Net
Voilà le code CSharp en Mode Déconnecté :
protected void Page_Load(object sender, EventArgs e)
{
//1-chaine de connexion
string ch = @"Data Source=DESKTOP-PSPR2IP\TDISQL;Initial
Catalog=EFF2016;Integrated Security=True";
//2-connexion
SqlConnection conx = new SqlConnection(ch);
//3-SqlDataadapter
SqlDataAdapter da = new SqlDataAdapter("select * from
Article;",conx);
//4-DataSet
DataSet ds = new DataSet();
//5-remplissage DataSet
da.Fill(ds);
//6-chargement GridView
GridView1.DataSource = ds;
GridView1.DataBind();
}

Voilà le code CSharp en Mode connecté :


protected void Page_Load(object sender, EventArgs e)
{
//Mode Connecte
//1-chaine de connexion
string ch = @"Data Source=DESKTOP-PSPR2IP\TDISQL;Initial
Catalog=EFF2016;Integrated Security=True";
//2-connexion
SqlConnection conx = new SqlConnection(ch);
conx.Open();
//3-SqlCommand

P a g e 14 | 34
SqlCommand cmd = new SqlCommand("select * from Article;",
conx);
//4-SqlDataReader
SqlDataReader sdr = cmd.ExecuteReader();
//5-DataTable
DataTable dt = new DataTable();
dt.Load(sdr);
//6-chargement GridView
GridView1.DataSource = dt;
GridView1.DataBind();
sdr.Close();
conx.Close();
}

4. Programmation de GridView
Cet axe son but principal est d’ajouter des actions dans l’objet GridView comme Modifier,
Supprimer, et Mise à jour. Pour ce faire on modifie notre GridView :

Après on choisit les trois actions :

Puis on cherche l’événement qui fait la modification « RowEditing », dans la liste des
événements d’objet GridView

P a g e 15 | 34
Et voilà le code de cet évènement :
protected void GridView1_RowEditing(object sender,
GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
LoadBaseDonnee();
}

Remarque : la fonction LoadBaseDonnee(), son rôle est de faire une connexion avec la base
de données et charger ce qu’on a écrit dans le code précédent :
public void LoadBaseDonnee()
{
//Mode Deconnecte
//1-chaine de connexion
string ch = @"Data Source=DESKTOP-
PSPR2IP\TDISQL;Initial Catalog=EFF2016;Integrated Security=True";
//2-connexion
SqlConnection conx = new SqlConnection(ch);
//3-SqlDataadapter
SqlDataAdapter da = new SqlDataAdapter("select * from
Article;", conx);
//4-DataSet
DataSet ds = new DataSet();
//5-remplissage DataSet
da.Fill(ds);
//6-chargement GridView
GridView1.DataSource = ds;
GridView1.DataBind();
}

P a g e 16 | 34
Finalement le résultat sera comme suivant :

La même chose pour annuler, on cherche dans la liste des événements :


GridView1_RowCancelingEdit, puis on ajoute ce code :
protected void GridView1_RowCancelingEdit(object sender,
GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
LoadBaseDonnee();
}
GridView1_SelectedIndexChanged
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
TextBox1.Text = GridView1.SelectedRow.Cells[4].Text;
TextBox2.Text = GridView1.SelectedRow.Cells[6].Text;

Passant maintenant à l’événement : GridView1_RowDeleting pour la suppression.


protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs
e)
{
//1-chaine de connexion
string ch = @"Data Source=DESKTOP-PSPR2IP\TDISQL;Initial
Catalog=EFF2016;Integrated Security=True";
//2-connexion
SqlConnection conx = new SqlConnection(ch);
conx.Open();
//3-SqlCommand
string req = "delete from Article where codeArt=@var";
SqlCommand cmd = new SqlCommand(req, conx);
SqlParameter pr = new
SqlParameter("@var",int.Parse(GridView1.Rows[e.RowIndex].Cells[3].Text));
cmd.Parameters.Add(pr);
cmd.ExecuteNonQuery();
conx.Close();
LoadBaseDonnee();
}

Concernant l’événement GridView1_RowUpdating


protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs
e)
{
//1-chaine de connexion
string ch = @"Data Source=DESKTOP-PSPR2IP\TDISQL;Initial
Catalog=EFF2016;Integrated Security=True";
P a g e 17 | 34
//2-connexion
SqlConnection conx = new SqlConnection(ch);
conx.Open();
//3-SqlCommand
string req = "update Article set nomArt=@a4 , typeArt=@a5 ,
PU=@a6 , photoArt=@a7 where codeArt=@a3";
SqlCommand cmd = new SqlCommand(req, conx);
TextBox v3 = (TextBox)this.GridView1.Rows[e.RowIndex].Cells[3].Controls[0];
TextBox v4 = (TextBox)this.GridView1.Rows[e.RowIndex].Cells[4].Controls[0];
TextBox v5 = (TextBox)this.GridView1.Rows[e.RowIndex].Cells[5].Controls[0];
TextBox v6 = (TextBox)this.GridView1.Rows[e.RowIndex].Cells[6].Controls[0];
TextBox v7 = (TextBox)this.GridView1.Rows[e.RowIndex].Cells[7].Controls[0];
cmd.Parameters.AddWithValue("@a3", int.Parse(v3.Text));
cmd.Parameters.AddWithValue("@a4", v4.Text);
cmd.Parameters.AddWithValue("@a5", v5.Text);
cmd.Parameters.AddWithValue("@a6", float.Parse(v6.Text));
cmd.Parameters.AddWithValue("@a7", v7.Text);
cmd.ExecuteNonQuery();
conx.Close();
GridView1.EditIndex = -1;
LoadBaseDonnee();
}
Remarque : afin d’avoir une mise à jour de la table dans la base de données il faut appliquer
protected void Page_Load(object sender, EventArgs e)
{ if(!IsPostBack)
{
LoadBaseDonnee();
}
}
Supprimer plusieurs lignes en mêmes temps en utilisant les cases à cocher
Avant tout il faut insérer la colonne case à cocher afin de supprimer plusieurs lignes en mêmes
temps

Puis on ajoute un bouton pour cette action :


P a g e 18 | 34
Voilà le code C Sharp à saisir dans le bouton ci-dessus.
protected void Button1_Click(object sender, EventArgs e)
{
for(int i=0;i<GridView1.Rows.Count;i++)
{
CheckBox ca =
(CheckBox)GridView1.Rows[i].Cells[3].FindControl("CheckBox1");
if(ca.Checked==true)
{
//Récuperer la ligne dans la table
int id =
int.Parse(GridView1.Rows[i].Cells[4].Text);

//1-chaine de connexion
string ch = @"Data Source=DESKTOP-
PSPR2IP\TDISQL;Initial Catalog=EFF2016;Integrated Security=True";
//2-connexion
SqlConnection conx = new SqlConnection(ch);
conx.Open();
//3-SqlCommand
string req = "delete from Article where codeArt=@var";
SqlCommand cmd = new SqlCommand(req, conx);
SqlParameter pr = new SqlParameter("@var", id);
cmd.Parameters.Add(pr);
cmd.ExecuteNonQuery();
conx.Close();
}
}
LoadBaseDonnee();
}
La dernière action à traiter dans l’objet GridView c’est l’insertion, pour ce faire on ajoute les
objets suivants :

P a g e 19 | 34
Le code CSharp dans le bouton insérer Article est :
protected void Button2_Click(object sender, EventArgs e)
{

//1-chaine de connexion
string ch = @"Data Source=DESKTOP-
PSPR2IP\TDISQL;Initial Catalog=EFF2016;Integrated Security=True";
//2-connexion
SqlConnection conx = new SqlConnection(ch);
conx.Open();
//3-SqlCommand
string req = "insert into Article
Values("+int.Parse(TextBox3.Text)
+",'"+TextBox4.Text+"','"+TextBox5.Text+"','"+TextBox6.Text+"','"+T
extBox7.Text+"')";
SqlCommand cmd = new SqlCommand(req, conx);
cmd.ExecuteNonQuery();
conx.Close();
Response.Redirect("ConnexionBD.aspx");

Travail à faire l’ajout d’un événement en javascript dans un objet ASP.Net


Exemple : l’affichage d’un message box lorsqu’on clique sur le bouton supprimer
Pour ce faire, on clique sur la flèche du GridView1, puis l’action Supprimer et Convertir ce
champ en TemplateField.

Le code de la page web de la colonne « supprimer » est le suivant :

P a g e 20 | 34
Après l’activation de TemplatedField le code de la colonne sera :

Puis on ajoute code Javascript dans l’événement OnclientClick :

Lorsqu’on clique sur le bouton supprimer le résultat sera :

Travail à faire : la liaison avec une clé Etrangère dans une table de la base de données
On travaille sur la table EtabArt de la base de données EFF2016, dans cette table nous avons
trois champs ; donc on insère une GridView puis l’insertion des champs de cette table
comme suivant :

P a g e 21 | 34
Pour les clés étrangères, on veut les mettre comme des liens cliquables affichent leur détail
dans une autre page aspx déjà créée. Dans notre cas la table EtabArt il y a deux clés
étrangères : codeArt et codeEtab donc on fait la création de deux pages afin d’afficher leur
détail.
Pour ce faire ses colonnes dans la GridView sont de cette manière :

On fait la même chose pour la colonne code Etablissement.


Finalement on aura trois colonnes dans notre GridView, pendant l’exécution les clés
étrangères on les voit comme des liens cliquables.

Ces liens qui ne donnent le détail dans une autre page.


Exemple : si l’utilisateur a cliqué sur le code Etablissement 3, ce lien lui donne cette page :

P a g e 22 | 34
Travail à faire : Ajouter un bouton de type « ButonFilds » afin d’ajouter une action à une
ligne de GridView
L’action qu’on veut faire c’est d’augmenter 20% de prix initiale de chaque Article.
Pour ce faire on suit les étapes suivantes :

Le résultat sera :

Passant maintenant à la programmation du bouton Augmenter existe dans chaque ligne,


pour cela on va à la propriété de GridView exactement dans l’événement RowCommand,
puis double clique, ici on ajoute le code suivant :
protected void GridView1_RowCommand(object sender,
GridViewCommandEventArgs e)

P a g e 23 | 34
{
if(e.CommandName=="AugPU")
{
//1-chaine de connexion
string ch = @"Data Source=DESKTOP-PSPR2IP\TDISQL;Initial
Catalog=EFF2016;Integrated Security=True";
//2-connexion
SqlConnection conx = new SqlConnection(ch);
conx.Open();
int i = int.Parse(e.CommandArgument.ToString());
int ind = int.Parse(GridView1.Rows[i].Cells[1].Text);
SqlCommand cmd = new SqlCommand("update Article set
PU=PU+(20.0/100)*PU from Article where codeArt=@indice", conx);
cmd.Parameters.AddWithValue("@indice", ind);
cmd.ExecuteNonQuery();
conx.Close();
}
LoadBaseDonnee();
}
Travail à faire : Maintenant on veut ajouter un autre bouton diminuer afin de soustraire
20% de PU d’article.
4-Mode Assistant en utilisant l’objet SqlDataSource

Après l’ajout d’une connexion avec la base de données, on fait les mêmes étapes que le
module ADO.Net.

P a g e 24 | 34
Après cette étape nous pouvons vérifier dans le fichier «web.config » que la connexion est
bien établie :

La même chose dans le code source de la page nous trouvons le code suivant :

Afin d’appliquer l’insertion correctement, on doit faire un petit changement dans le code de
la page : dans la balise InsertParametres on change Parameter par ControlParameter et on
ajoute le contrôle appliquer à la zone de texte :

P a g e 25 | 34
Maintenant on peut appeler la méthode insert() dans le bouton Ajouter

protected void Button1_Click(object


sender, EventArgs e)
{
SqlDataSource1.Insert();
}

Remarque : afin d’aider l’utilisateur par un message d’alert on ajoute ce code CSharp :
protected void Button1_Click(object sender, EventArgs e)
{
SqlDataSource1.Insert();
ClientScript.RegisterStartupScript(this.GetType(), "alert",
"alert('Inscription bien faite !')", true);
TextBox1.Text = "";
TextBox2.Text = "";
TextBox3.Text = "";
TextBox4.Text = "";
TextBox5.Text = ""; }
Passant maintenant aux deux boutons modifier et supprimer :

La même chose on ajoute le contrôle dans SqlDataSource1 :

P a g e 26 | 34
La dernière Etape il nous reste que le code CSharp dans les deux boutons : Modifier et
Supprimer :
Bouton Modifier ou Mise à jour
protected void Button2_Click(object sender, EventArgs e)
{
SqlDataSource1.Update();
ClientScript.RegisterStartupScript(this.GetType(), "alert",
"alert('Modification est bien faite !')", true);
TextBox1.Text = "";
TextBox2.Text = "";
TextBox3.Text = "";
TextBox4.Text = "";
TextBox5.Text = "";
}
Bouton Supprimer :
protected void Button2_Click(object sender, EventArgs e)
{
SqlDataSource1.Update();
ClientScript.RegisterStartupScript(this.GetType(), "alert",
"alert('Modification est bien faite !')", true);
TextBox1.Text = "";
TextBox2.Text = "";
TextBox3.Text = "";
TextBox4.Text = "";
TextBox5.Text = "";
}
Travail à faire : Dans ce TP nous essayons de faire le même travail que nous avons appliqué
dans les TPs précédents, mais cette fois ci avec le mode Assistant :
Premièrement on insère un objet GridView dans le tp précédent :

P a g e 27 | 34
Pour ce faire avant tout on ajout l’objet GridView de la boite à outils, puis on configure la connexion
avec la base de données en Mode assistant, on suit les étapes suivantes :

Les étapes pour ce faire (création de SqlDataSource2) sont les mêmes qu’on a fait pour
SqlDataSource1

P a g e 28 | 34
3

Tester l’ajout, la modification et la suppression en utilisant le code SqlDataSource1, qu’on a


programmé précédemment.

Pour atteindre cet objectif il faut faire des modifications dans le code précédent (ajout, modification
et suppression)

Méthode 2 : il y a une autre manière afin de programmer l’ajout, la modification et la suppression,
ainsi le tri.

P a g e 29 | 34
Après l’exécution de cette page nous pouvons faire toutes les actions que nous avons citées avant
sans ajouter une ligne de code.

5-Web Service
Un service Web met à disposition un service via Internet. Il constitue ainsi une interface
permettant à deux machines (ou applications) de communiquer. Pour y parvenir, la
technologie doit disposer de deux propriétés essentielles :
 être multiplateforme : il n’est pas nécessaire que le client et le serveur aient la même
configuration pour pouvoir communiquer. Le service Web leur permet de se retrouver
à un même niveau.
 être partagée : dans la plupart des cas, un service Web est à disposition de plus d’un
client. Différents clients accèdent à ce service via Internet.
Lorsqu’un service Web est utilisé, un client envoie une requête à un serveur et déclenche ainsi
une action auprès de ce serveur. Le serveur renvoie ensuite une réponse au client.
Afin de créer un service web on peut suivre les étapes suivantes :

P a g e 30 | 34
Après la création de notre premier Web Service, nous trouvons la première méthode créée
par défaut :
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}

On essaye d’ajouter une autre méthode comme un test de Web Service :


[WebMethod]
public int somme(int a,int b)
{
return a+b;
}
Avant la réutilisation de notre service web, il faut générer son code, en cliquant sur :

P a g e 31 | 34
Passant maintenant à donner une référence à notre Web Service, afin de le réutiliser.

Dans la fenêtre suivante on clique sur avancé puis sur ajouter web références.
La fenêtre suivante s’ouvert afin que l’utilisateur choisit l’emplacement du web service qu’on
veut utiliser :

Finalement il nous donne un exemple, pour tester le résultat de ce web référence.

P a g e 32 | 34
Voilà on teste ce code :

Le moment où on clique sur appeler une fenêtre d’un navigateur web s’affiche en nous
donnant le résultat sous forme d’un fichier xml

L’importance de ce code on peut l’utiliser dans n’importe quelle application même elle est
programmée avec un autre langage que Asp.Net.
Après l’étape de test on passe maintenant à l’étape suivante c’est la création de la
référence :

Voilà le résultat :

P a g e 33 | 34
L’étape finale c’est la consommation de Web service que nous avons créé.
On fait instancier la classe web service dans le projet où on veut réutiliser l’API, puis on
appelle la fonction qu’on veut utiliser.

P a g e 34 | 34

Vous aimerez peut-être aussi