Liste des couleurs de windows 8 - Tuiles pour le style metro

 01/01/2019 |   Admin |  ASP MVC


Ce post me sert de post-it pour avoir la liste des couleurs standards de windows 8

Couleur

RGB

Hexa

Apercu

Violet (Purple) 162 0 255 A200FF  
Magenta 255 0 151 FF0097  
Turquoise (Teal) 0 171 169 00ABA9  
Citron (Lime) 140 191 38 8CBF26  
Marron (Brown) 160 80 0 A05000  
Rose (Pink) 230 113 184 E671B8  
Orange 240 150 9 F09609  
Bleu (Blue) 27 161 226 1BA1E2  
Rouge (Red) 229 20 0 E51400  
Vert (Green) 51 153 51 339933  

Lire >>

Liste des symboles HTML

 01/01/2019 |   Admin |  ASP MVC


(En cours)

 Caractere - description

 Entité

 Decimal

 Hexa

 Apercu

Fleche gauche (leftwards arrow) ← ← ←
Fleche haut (upwards arrow) ↑ ↑ ↑
Fleche droite (rightwards arrow) → → →
Fleche bas (downwards arrow) ↓ ↓ ↓
Fleche droite gauche (left right arrow) ↔ ↔ ↔
Fleche entrée (carriage return) ↵ ↵ ↵
Double fleche gauche (leftwards double arrow) ⇐ ⇐ ⇐
Double fleche haut (upwards double arrow) ⇑ ⇑ ⇑
Double fleche droite (rightwards double arrow) ⇒ ⇒ ⇒
Double fleche bas (downwards double arrow) ⇓ ⇓ ⇓  
Double fleche droite gauche (left right double arrow) ⇔ ⇔ ⇔
Alpha (Grecque) Α Α Α  Α
Beta (Grecque) Β Β Β  Β
Gamma (Grecque) Γ Γ Γ  Γ
Delta (Grecque) Δ Δ Δ  Δ
Epsilon (Grecque) Ε Ε Ε  Ε
Zeta (Grecque) Ζ Ζ Ζ  Ζ
Eta (Grecque) Η Η Η  Η
Theta (Grecque) Θ Θ Θ  Θ
Sigle Copyright © © © ©
Coeur ♥ ♥ ♥

Lire >>

Convention ISO Pays web

 01/01/2019 |   Admin |  ASP MVC


Nom officiel - Code Identifier Langue correspondante
af 0x0036 Afrikaans
af-ZA 0x0436 Afrikaans - South Africa
sq 0x001C Albanian
sq-AL 0x041C Albanian - Albania
ar 0x0001 Arabic
ar-DZ 0x1401 Arabic - Algeria
ar-BH 0x3C01 Arabic - Bahrain
ar-EG 0x0C01 Arabic - Egypt
ar-IQ 0x0801 Arabic - Iraq
ar-JO 0x2C01 Arabic - Jordan
ar-KW 0x3401 Arabic - Kuwait
ar-LB 0x3001 Arabic - Lebanon
ar-LY 0x1001 Arabic - Libya
ar-MA 0x1801 Arabic - Morocco
ar-OM 0x2001 Arabic - Oman
ar-QA 0x4001 Arabic - Qatar
ar-SA 0x0401 Arabic - Saudi Arabia
ar-SY 0x2801 Arabic - Syria
ar-TN 0x1C01 Arabic - Tunisia
ar-AE 0x3801 Arabic - United Arab Emirates
ar-YE 0x2401 Arabic - Yemen
hy 0x002B Armenian
hy-AM 0x042B Armenian - Armenia
az 0x002C Azeri
Cy-az-AZ 0x082C Azeri (Cyrillic) - Azerbaijan
Lt-az-AZ 0x042C Azeri (Latin) - Azerbaijan
eu 0x002D Basque
eu-ES 0x042D Basque - Basque
be 0x0023 Belarusian
be-BY 0x0423 Belarusian - Belarus
bg 0x0002 Bulgarian
bg-BG 0x0402 Bulgarian - Bulgaria
ca 0x0003 Catalan
ca-ES 0x0403 Catalan - Catalan
zh-HK 0x0C04 Chinese - Hong Kong SAR
zh-MO 0x1404 Chinese - Macau SAR
zh-CN 0x0804 Chinese - China
zh-CHS 0x0004 Chinese (Simplified)
zh-SG 0x1004 Chinese - Singapore
zh-TW 0x0404 Chinese - Taiwan
zh-CHT 0x7C04 Chinese (Traditional)
hr
...

Lire >>

Accéder aux ressources depuis un fichier ASPX

 01/01/2019 |   Admin |  ASP MVC


Text="<%$ Resources : « Nom du fichier », « Nom de la ressource » %>"

Lire >>

Affichage d'une date dans une GridView avec un format défini dans un BoundField

 01/01/2019 |   Admin |  ASP MVC


Il suffit d'utiliser la propriété DataFormatString dans le BoundField avec le format désiré.

<asp:BoundField DataField="LaDate"

DataFormatString="{0:dd/MM/yyyy}"

HeaderText="LaDate" 

SortExpression="LaDate" />

Lire >>

Tutorial : Linq to Xml

 01/01/2019 |   Admin |  ASP MVC


Ce tutorial a pour but de montrer comment manipuler un fichier à l'aide de Linq to Xml.

A travers cet exemple on pourra voir la création, la mise à jour, la suppression et la recherche dans un document xml.

1. Créer un nouveau site web

  • Fichier, Nouveau site web

2. Ajouter la classe Voiture

Clique droit sur le nom du site, ajouter un nouvel élément, classe : Voiture.cs

Y ajouter les propriétés suivantes :

Résultat :

//-----------------------------------------------------------------------
// <copyright file="Voiture.cs" company="CNED">
//     Copyright (c) PHN. All rights reserved.
// </copyright>
// <author>PHN</author>
// <date>07/06/2010</date>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
 
/// <summary>
/// Voiture Class
/// </summary>
[Serializable]
public class Voiture
{
    #region CONSTANTES
 
    /// <summary>
    /// Noeud Voiture dans le fichier XML
    /// </summary>
    public const string VOITURE = "VOITURE";
 
    /// <summary>
    /// ID dans le fichier xml
    /// </summary>
    public const string ID = "ID";
 
    /// <summary>
    /// DATE_ACHAT dans le fichier XML
    /// </summary>
    public const string DATE_ACHAT = "DATE_ACHAT";
 
    /// <summary>
    /// MARQUE dans le fichier XML
    /// </summary>
    public const string MARQUE = "MARQUE";
 
    /// <summary>
    /// POIDS dans le fichier XML
    /// </summary>
    public const string POIDS = "POIDS";
 
    /// <summary>
    /// PRIX dans le fichier XML
    /// </summary>
    public const string PRIX = "PRIX";
 
    #endregion
 
    #region CONSTRUCTEUR
 
    /// <summary>
    /// Initializes a new instance of the Voiture class
    /// </summary>
    public Voiture()
    {
    }
 
    #endregion

    #region PROPRIETES

    /// <summary>
    /// Gets or sets Id
    /// </summary>
    public long Id { get; set; }

    /// <summary>
    /// Gets or sets Marque
    /// </summary>
    public string Marque { get; set; }

    /// <summary>
    /// Gets or sets Poids
    /// </summary>
    public int Poids { get; set; }
 
    /// <summary>
    /// Gets or sets DateAchat
    /// </summary>
    public DateTime DateAchat { get; set; }

    /// <summary>
    /// Gets or sets Prix
    /// </summary>
    public double Prix { get; set; }
 
    #endregion
}

1. 3.  Ajouter la classe VoitureService.cs qui contiendra la liste des méthodes avec les méthodes suivantes :

-          GetAll

-          GetById

-          Update

-          Insert

-          Delete

-          GetByMarque

-          GetNewId

Ne pas oublier de rajouter les using suivants :

using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;

  • GetAll

  •   #region GetAll
     
        /// <summary>
        /// Retourne toutes les voitures
        /// </summary>
        /// <param name="xmlFile">Le nom du fichier Xml</param>
        /// <returns>Une liste de voitures</returns>
        public IList<Voiture> GetAll(string xmlFile)
        {
            IList<Voiture> lsVoitures = null;
     
            XDocument xmlDoc = XDocument.Load(xmlFile);
     
            lsVoitures = (from voiture in xmlDoc.Descendants(Voiture.VOITURE)
                          select new Voiture
                          {
                              Id = Convert.ToInt32(voiture.Element(Voiture.ID).Value),
                              DateAchat = Convert.ToDateTime(voiture.Element(Voiture.DATE_ACHAT).Value),
                              Marque = voiture.Element(Voiture.MARQUE).Value,
                              Poids = Convert.ToInt32(voiture.Element(Voiture.POIDS).Value),
                              Prix = Convert.ToDouble(voiture.Element(Voiture.PRIX).Value)
                          }
     
                          ).ToList<Voiture>();
     
            return lsVoitures;
        }
     
        #endregion
    
  • GetById

  •  #region GetById
     
        /// <summary>
        /// Retourne une voiture en fonction de son identifiant
        /// </summary>
        /// <param name="id">Identifiant de la voiture</param>
        /// <param name="xmlFile">Emplacement du fichier Xml</param>
        /// <returns>Une voiture</returns>
        public Voiture GetById(long id, string xmlFile)
        {
            Voiture theVoiture = new Voiture();
     
            XDocument xmlDoc = XDocument.Load(xmlFile);
     
            theVoiture = (from voiture in xmlDoc.Descendants(Voiture.VOITURE)
                          where voiture.Element(Voiture.ID).Value == id.ToString()
                          select new Voiture
                          {
                              Id = Convert.ToInt32(voiture.Element(Voiture.ID).Value),
                              DateAchat = Convert.ToDateTime(voiture.Element(Voiture.DATE_ACHAT).Value),
                              Marque = voiture.Element(Voiture.MARQUE).Value,
                              Poids = Convert.ToInt32(voiture.Element(Voiture.POIDS).Value),
                              Prix = Convert.ToDouble(voiture.Element(Voiture.PRIX).Value)
                          }
     
                          ).Single<Voiture>();
     
            return theVoiture;
        }
     
        #endregion
    
     
    
  • Insert

  •  #region Insert
     
        /// <summary>
        /// Insertion d'une nouvelle voiture
        /// </summary>
        /// <param name="voiture">La nouvelle voiture</param>
        /// <param name="flux">Flux du fichier XML</param>
        /// <returns>true si ok, sinon false</returns>
        public bool Insert(Voiture voiture, string flux)
        {
            try
            {
                XElement doc = XElement.Load(flux);
     
                voiture.Id = this.GetNewId(flux);
     
                XElement newVoiture = new XElement(
        Voiture.VOITURE,
           new XElement(Voiture.ID, voiture.Id),
           new XElement(Voiture.DATE_ACHAT, voiture.DateAchat.ToString("dd/MM/yyyy")),
           new XElement(Voiture.MARQUE, voiture.Marque),
           new XElement(Voiture.POIDS, voiture.Poids),
           new XElement(Voiture.PRIX, voiture.Prix));
     
                doc.Add(newVoiture);
                doc.Save(flux);
                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }
     
        #endregion
    
  • Update

  • #region Update
     
        /// <summary>
        /// Mise à jour d'une voiture
        /// </summary>
        /// <param name="voiture">La voiture à mettre à jour</param>
        /// <param name="flux">Flux du fichier XML</param>
        /// <returns>true si ok, sinon false</returns>
        public bool Update(Voiture voiture, string flux)
        {
            try
            {
                XDocument xmlDoc = XDocument.Load(flux);
     
                IEnumerable<XElement> theVoiture = from voit in xmlDoc.Descendants(Voiture.VOITURE)
                                                   where ((string)voit.Element(Voiture.ID)).Equals(voiture.Id.ToString())
                                                   select voit;
     
                foreach (XElement xe in theVoiture)
                {
                    xe.SetElementValue(Voiture.DATE_ACHAT, voiture.DateAchat.ToString("dd/MM/yyyy"));
                    xe.SetElementValue(Voiture.MARQUE, voiture.Marque);
                    xe.SetElementValue(Voiture.POIDS, voiture.Poids);
                    xe.SetElementValue(Voiture.PRIX, voiture.Prix);
                }
     
                xmlDoc.Save(flux);
     
                return true;
            }
            catch (Exception)
            {
                return true;
            }
        }
     
        #endregion
    
  • Delete

  • #region Delete
     
        /// <summary>
        /// Suppression d'une voiture
        /// </summary>
        /// <param name="voiture">La voiture à supprimer</param>
        /// <param name="flux">Flux du fichier XML</param>
        /// <returns>true si ok, sinon false</returns>
        public bool Delete(Voiture voiture, string flux)
        {
            try
            {
                XElement doc = XElement.Load(flux);
     
                IEnumerable<XElement> voitureToDelete =
    from voit in doc.Elements(Voiture.VOITURE)
                      where voit.Element(Voiture.ID).Value == voiture.Id.ToString()
                      select voit;
     
                foreach (XElement xe in voitureToDelete)
                {
                    xe.Remove();
                }
     
                doc.Save(flux);
     
                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }
     
        #endregion
    
  • GetByMarque

  • #region GetByMarque
     
        /// <summary>
        /// Retourne une voiture en fonction de sa marque
        /// </summary>
        /// <param name="marque">Marque de la voiture</param>
        /// <param name="xmlFile">Emplacement du fichier Xml</param>
        /// <returns>Une liste de voitures</returns>
        public IList<Voiture> GetByMarque(string marque, string xmlFile)
        {
            IList<Voiture> lsVoiture = null;
     
            XDocument xmlDoc = XDocument.Load(xmlFile);
     
            lsVoiture = (from voiture in xmlDoc.Descendants(Voiture.VOITURE)
                where voiture.Element(Voiture.MARQUE).Value.ToLower().Contains(marque)
                select new Voiture
                    {
            Id = Convert.ToInt32(voiture.Element(Voiture.ID).Value),
            DateAchat = Convert.ToDateTime(voiture.Element(Voiture.DATE_ACHAT).Value),
            Marque = voiture.Element(Voiture.MARQUE).Value,
            Poids = Convert.ToInt32(voiture.Element(Voiture.POIDS).Value),
            Prix = Convert.ToDouble(voiture.Element(Voiture.PRIX).Value)
                     }
     
                          ).ToList<Voiture>();
     
            return lsVoiture;
        }
     
    #endregion
    
  • GetNewId

  •  #region GetNewId
     
        /// <summary>
        /// Retourne le futur identifiant lors d'une création
        /// </summary>
        /// <param name="flux">Flux du fichier XML</param>
        /// <returns>Le nouvel identifiant</returns>
        private long GetNewId(string flux)
        {
            int nextId = 0;
     
            XDocument doc = XDocument.Load(flux);
     
            var voitures = from voiture in doc.Descendants(Voiture.VOITURE)
                           orderby (int)voiture.Element(Voiture.ID) descending
                           select new
                           {
                               newid = voiture.Element(Voiture.ID).Value,
                           };
     
            foreach (var voiture in voitures)
            {
                nextId = int.Parse(voiture.newid);
                break;
            }
     
            nextId++;
     
            return nextId;
        }
     
        #endregion
    

 

 

4. Ajouter la partie cliente, ici une page web

    • Page default.aspx
<table>
<tr>
<td align="center">
<asp:Button runat="server"
ID="btnGetAll"
Text="Obtenir toutes les voitures" OnClick="btnGetAll_Click" />
</td>
</tr>
<tr>
<td>
Recherche par marque :
<asp:TextBox runat="server" ID="txtSearchMarque"/>
<asp:Button runat="server"
ID="btnSearchMarque"
Text="Rechercher"
                        onclick="btnSearchMarque_Click"/>
</td>
</tr>
<tr>
<td>
<asp:GridView runat="server"
ID="gvVoitures"
AutoGenerateColumns="false" OnRowCommand="gvVoitures_RowCommand">
 <Columns>
  <asp:TemplateField>
   <ItemTemplate>
    <asp:Button runat="server"
ID="btnEditVoiture"
Text="Modifier"
CommandName="UpdateCar"
                             CommandArgument='<%# Eval("Id") %>' />
   </ItemTemplate>
  </asp:TemplateField>
 <asp:TemplateField>
  <ItemTemplate>
<asp:Button runat="server"
ID="btnDeleteVoiture"
Text="Supprimer"
CommandName="DeleteCar"
                             CommandArgument='<%# Eval("Id") %>' />
  </ItemTemplate>
 </asp:TemplateField>
 <asp:BoundField DataField="Marque" HeaderText="Marque" />
 <asp:BoundField DataField="Poids" HeaderText="Poids" />
 <asp:BoundField DataField="DateAchat" HeaderText="Date d'achat"
     DataFormatString="{0:dd/MM/yyyy}" />
 <asp:BoundField DataField="Prix" HeaderText="Prix" />
</Columns>
</asp:GridView>
</td>
</tr>
<tr>
<td align="center">
                    <asp:Button runat="server"
ID="btnAdd"
Text="Ajouter une voiture"
OnClick="btnAdd_Click" />
</td>
</tr>
</table>

<asp:Panel runat="server" ID="pnlDetail" Visible="false" Width="600px">
<table>
<tr>
<td style="width: 150px" align="right">
                        Marque :
</td>
<td style="width: 450px">
<asp:TextBox runat="server"
ID="txtMarque"
Width="90%"/>
</td>
</tr>
<tr>
<td align="right">
                        Poids :
</td>
<td>
<asp:TextBox runat="server"
ID="txtPoids"
Width="40%" />
</td>
</tr>
<tr>
<td align="right">
                        Date d'achat :
</td>
<td>
<asp:TextBox runat="server"
ID="txtDateAchat"
Width="40%" />
</td>
</tr>
<tr>
<td align="right">
                        Prix :
</td>
<td>
<asp:TextBox runat="server"
ID="txtPrix"
Width="40%" />
</td>
</tr>
<tr>
<td colspan="2" align="center">
<asp:Button runat="server"
ID="btnSave"
Text="Valider"
OnClick="btnSave_Click" />
</td>
</tr>
<tr>
<td colspan="2" align="center">
<asp:Label runat="server"
ID="lblErreur"
ForeColor="Red"></asp:Label>
</td>
</tr>
</table>
</asp:Panel>

 

  • CodeBehind
      • Déclaration des constantes
    #region CONSTANTES
     
        /// <summary>
        /// Nom du fichier XML
        /// </summary>
        private const string XML_FILE = "XMLFile.xml";
     
        /// <summary>
        /// Voiture en cours qui sera stockée dans un ViewState
        /// </summary>
        private const string VOITURE = "VOITURE";
     
        /// <summary>
        /// Mode actuel (update ou insert) stocké dans un ViewState
        /// </summary>
        private const string MODE = "MODE";
     
        /// <summary>
        /// Mode insert
        /// </summary>
        private const string INSERT = "INSERT";
     
        /// <summary>
        /// Mode Update
        /// </summary>
        private const string UPDATE = "UPDATE";
     
    
    #endregion
    
    
    
    • Remplir la GridView
/// <summary>
/// Remplir la grille des voitures
/// </summary>
private void FillGrid()
{
    gvVoitures.DataSource = new VoitureService().GetAll(Server.MapPath(XML_FILE));
    gvVoitures.DataBind();
}

 

    • Méthode permettant d'afficher une voiture
/// <summary>
/// Affichage d'une voiture dans le formulaire de détail
/// </summary>
private void AfficherVoiture()
{
Voiture voiture = (Voiture)ViewState[VOITURE];
txtMarque.Text = voiture.Marque;
txtPrix.Text = voiture.Prix.ToString();
txtPoids.Text = voiture.Poids.ToString();
txtDateAchat.Text = voiture.DateAchat.ToString("dd/MM/yyyy");
}

 

    • Méthode déclenchée lors de l'action sur la GridView
/// <summary>
/// RowCommand sur la grille des voitures (modification ou suppression)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void gvVoitures_RowCommand(object sender, GridViewCommandEventArgs e)
{
switch (e.CommandName)
{
case "UpdateCar":
 
ViewState[VOITURE] = new VoitureService().GetById(Convert.ToInt64(e.CommandArgument), Server.MapPath(XML_FILE));
AfficherVoiture();
pnlDetail.Visible = true;
 
ViewState[MODE] = UPDATE;
 
break;
 
case "DeleteCar":
 
Voiture voitureToDelete = new Voiture();
voitureToDelete.Id = Convert.ToInt64(e.CommandArgument);
 
new VoitureService().Delete(voitureToDelete, Server.MapPath(XML_FILE));
                FillGrid();
 
break;
}
 

}

 

    • Action sur les boutons
#region BOUTONS
 
    /// <summary>
    /// Obtenir toutes les voitures
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnGetAll_Click(object sender, EventArgs e)
    {
        FillGrid();
    }
 
    /// <summary>
    /// Bouton de sauvegarde
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnSave_Click(object sender, EventArgs e)
    {
        // Récupération du mode
        switch ((string)ViewState[MODE])
        {
            // Insertion d'une nouvelle voiture
            case INSERT:
 
                Voiture voitureToInsert = new Voiture();
 
                voitureToInsert.Marque = txtMarque.Text;
                voitureToInsert.DateAchat = Convert.ToDateTime(txtDateAchat.Text);
                voitureToInsert.Poids = Convert.ToInt32(txtPoids.Text);
                voitureToInsert.Prix = Convert.ToDouble(txtPrix.Text);
 
                new VoitureService().Insert(voitureToInsert, Server.MapPath(XML_FILE));
 
                break;
 
            // Mise à jour de la voiture
            case UPDATE:
 
                try
                {
                    // Récupération de la voiture actuelle dans le viewState
                    Voiture voitureToUpdate = (Voiture)ViewState[VOITURE];
 
                    voitureToUpdate.Marque = txtMarque.Text;
                    voitureToUpdate.DateAchat = Convert.ToDateTime(txtDateAchat.Text);
                    voitureToUpdate.Poids = Convert.ToInt32(txtPoids.Text);
                    voitureToUpdate.Prix = Convert.ToDouble(txtPrix.Text);
 
                    new VoitureService().Update(voitureToUpdate, Server.MapPath(XML_FILE));
                    lblErreur.Text = string.Empty;
                }
                catch (FormatException)
                {
                    lblErreur.Text = "Format des données incorrectes";
                }
                break;
        }
 
        FillGrid();
    }

 

/// <summary>
/// Bouton permettant d'ajouter une voiture
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAdd_Click(object sender, EventArgs e)
{
ViewState[MODE] = INSERT;
pnlDetail.Visible = true;
 
txtMarque.Text = string.Empty;
txtPrix.Text = string.Empty;
txtPoids.Text = string.Empty;
txtDateAchat.Text = string.Empty;
}
 
    /// <summary>
    /// Bouton de recherche par marque
    /// Renvoi une liste de voitures en fonction de la marque
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnSearchMarque_Click(object sender, EventArgs e)
    {
        gvVoitures.DataSource = new VoitureService().GetByMarque(txtSearchMarque.Text.Trim().ToLower(), Server.MapPath(XML_FILE));
        gvVoitures.DataBind();
    }
 
#endregion

 

Lire >>

Concaténer deux champs dans le même 'Eval' d'une GridView

 01/01/2019 |   Admin |  ASP MVC


<%# String.Concat(Eval("NomCol1"),Eval("NomCol2")) %>

Lire >>

Gérer le OnMouseOver et le OnMouseOut dans un contrôle ImageButton

 01/01/2019 |   Admin |  ASP MVC


Pour gérer les attributs OnMouseOver et OnMouseOut dans un contrôle ImageButton il suffit de faire comme dans cette exemple :

<asp:ImageButton runat="server"
ImageUrl="Images/croix.png"                
Width="25px"
OnMouseOver="this.src ='Images/croix-red.png'"
OnMouseOut="this.src ='Images/croix.png'" />

Lire >>