Dll Import en C# : Un peu d'aide sur cette fonctionnalité

Pour comprendre le fonctionnement de DllImport, je vous conseille de consulter ces liens :

Marshaling de données à l’aide de l’appel de plate-forme
CallingConvention
Exemples d’appel de plate-forme
Types de données d’appel de plate-forme
MsgBox, exemple
Spécification d’un jeu de caractères
Strings, exemple
Champ DllImportAttribute.BestFitMapping

Tableau de correspondance entre les types du C++ et du C#

 Type non managé dans Wtypes.h  Type langage C non managé   Nom de classe managée  Description
 HANDLE  void*  System.IntPtr  32 bits
   BYTE  unsigned char  System.Byte   8 bits
 SHORT  short  System.Int16   16 bits
 WORD  unsigned short  System.UInt16  16 bits
 INT  int  System.Int32  32 bits
 UINT  unsigned int  System.UInt32  32 bits
 LONG  long  System.Int32   32 bits
BOOL   long  System.Int32  32 bits  
DWORD    unsigned long  System.UInt32  32 bits
ULONG unsigned long System.UInt32  32 bits
CHAR 
 
char System.Char Décorer avec ANSI.
LPSTR char* System.String ou System.StringBuilder Décorer avec ANSI. 
 
LPCSTR Const char*  System.String ou System.StringBuilder  Décorer avec ANSI.
LPWSTR wchar_t* System.String ou System.StringBuilder  Décorer avec Unicode. 
LPCWSTR Const wchar_t* System.String ou System.StringBuilder Décorer avec Unicode. 
 
FLOAT Float   System.Single 32 bits 
DOUBLE Double System.Double 64 bits  

Globalisation : Ressources satellites

Utilisation des ressources satellites
redirection et culture
Erreur :
Could not find any resources appropriate for the specified culture (or the neutral culture) in the given assembly. Make sure "Cxxx.Web3.ressources.strings.resources" was correctly embedded or linked into assembly "XXXXXXX". baseName: XXXYYYY.Web3.ressources.strings locationInfo: resource file name: XXXYYYY.Web3.ressources.strings.resources assembly: XXXXXXX, Version=1.0.1727.20146, Culture=neutral, PublicKeyToken=null
Solution
Attention dans le projet VS aller dans la propriété du projet et bien vérifier que le Namespace par defaut correspond à celui qu’il y a dans le code sinon les ressources ne sont pas trouver

Dropdownlist en ASP.NET

Comment créer une liste déroulante à partir d’un DataSet
en 3 tiers
une couche de présentation
une couche métier
une couche accès base avec procédure stockée
et avec visual studio
private void LoadListeDestinations(bool IsVisible)
{
if(IsVisible)
{
DestinationsSitesDB myListeDestination = new DestinationsSitesDB();
DdlDestinations.DataSource = myListeDestination.GetDSListe(null) ; //renvoi un DataSet 2 colonnes
DdlDestinations.DataTextField = "Id";
DdlDestinations.DataValueField = "Nom";
DdlDestinations.DataBind();
}
}

La classe DateTime en .NET

Cette "class" est très complète et particulièrement utile.
Elle permet de manipuler de façon très précise le temps (année, mois, jour,
heure, minute, seconde …), compare 2 dates,

Est utilisé de façon statique sans besoin d’ instancier un objet :
DateTime.Now : date et heure du jour

DateTime.Today : date du jour

DateTime.DaysInMonth(in Year, int Month) : Nombre de jour dans le mois et l’ année spécifié

Datetime.MinValue : est utilisé pour comparer une date nulle ou inexistante

Est utilisé après instanciation d’ un objet :
DateTime oD = new DateTime();

oD.AddDays(double jour) :ajouter des jours à la date initiale

Pour plus de renseignements

Olymars ou SQL Server Centric .NET

Très bon outils.
Permet de générer des procédures stockées, classes d’accès aux données, webform et winform par rapport à votre base de données
Aide beaucoup en créant un code source de base .
Il faut d’abord créér un repository de la base bolymars, un fois réalisé vous vous connecté à votre base et générer des scripts qui créer des Procedures stockées …
Génère les procédures stockés d’INSERTION, UPDATE, DELETE,SELECT avec des paramètres associés suivant les champs de vos tables
Utilise les fonctions d’SQL Serveur

Datalist ItemCreated en ASP.NET et C#

L’événement ItemCreated est déclenché pour tous les éléments, y compris l’en-tête et le pied de page. L’événement est déclenché pour ces événements même si vous n’avez pas créé de modèles pour ceux-ci, afin de prévoir une éventuelle création dynamique de ces éléments. Pour plus d’informations sur la création dynamique de modèles, consultez Création dynamique de modèles dans un contrôle serveur Web DataList.
Pour personnaliser les éléments au moment de l’exécution à l’aide de l’événement ItemCreated
1. Créez un gestionnaire d’événements pour l’événement ItemCreated du contrôle DataList. Pour plus d’informations, consultez Création de gestionnaires d’événements dans les pages Web Forms.
2. Dans le gestionnaire d’événements, recherchez l’élément actif à l’aide de l’objet Item de l’objet événement-argument. Vous pouvez obtenir l’index de l’élément actif via la propriété ItemIndex de l’objet Item, et son type via sa propriété ItemType (définie à l’aide de l’énumération ListItemType).
Remarque La propriété ItemIndex ne retourne une valeur positive que pour les objets Item, AlternatingItem et SelectedItem. La valeur d’index des éléments d’en-tête, de pied de page et des séparateurs est -1.
L’exemple suivant montre comment modifier conditionnellement la couleur d’arrière-plan d’un élément. L’exemple utilise la propriété ItemType et l’énumération ListItemType pour définir les couleurs d’arrière-plan des éléments. Les valeurs LightGoldenrodYellow, DarkGoldenRod et Yellow sont respectivement définies pour les éléments, les éléments de remplacement et les éléments sélectionnés.
/ C#
private void DataList1_ItemCreated(object sender,
System.Web.UI.WebControls.DataListItemEventArgs e)
{
switch (e.Item.ItemType)
{
case System.Web.UI.WebControls.ListItemType.Item :
e.Item.BackColor = Color.LightGoldenrodYellow;
break;
case System.Web.UI.WebControls.ListItemType.AlternatingItem :
e.Item.BackColor = Color.DarkGoldenrod;
break;
case System.Web.UI.WebControls.ListItemType.SelectedItem :
e.Item.BackColor = Color.Yellow;
break;
default :
// Add code here to handle the header, footer, and
// separator templates.
break;
}
}
Au moment où l’événement ItemCreated est déclenché, les différents contrôles figurant dans les modèles n’ont pas encore été liés aux données. Toutefois, les données sont disponibles dans l’événement ItemDataBound.

Source Microsoft
pour en savoir plus
Aide Microsoft

Datalist ItemDataBound en ASP.NET

Pour personnaliser les éléments au moment de l’exécution à l’aide de l’événement ItemDataBound
1. Créez un gestionnaire d’événements pour l’événement ItemDataBound du contrôle DataList. Pour plus d’informations, consultez Création de gestionnaires d’événements dans les pages Web Forms.
2. Dans le gestionnaire d’événements, utilisez la propriété e.Item.DataItem pour tester les données qui seront liées au contrôle et effectuez une comparaison sur la base de ces données.
L’exemple suivant montre comment effectuer un test conditionnel fondé sur les données. L’exemple extrait le troisième champ Quantity de DataItem. Si la quantité est inférieure à 10, l’élément du contrôle DataList est affiché en rouge.
// C#
private void DataList1_ItemDataBound(object sender,
System.Web.UI.WebControls.DataListItemEventArgs e)
{
DataRowView drv = (DataRowView)(e.Item.DataItem);
int quantity = int.Parse(drv.Row["Quantity"].ToString());
if (quantity < 10) { e.Item.BackColor = Color.Red; }

}
Lien vers aide microsoft