01/01/2019 |
Admin |
C#
Supprimer un répertoire et son contenu
protected void deleteFolder(string folder, string name)
{
DirectoryInfo di = new DirectoryInfo(Server.MapPath(folder + "/" + name));
FileInfo[] fi = di.GetFiles();
foreach (FileInfo fi2 in fi)
{
fi2.Delete();
}
di.Delete(true);
Créer un sous répertoire
protected void makeFolder(string folder, string name)
{
DirectoryInfo di = new DirectoryInfo(Server.MapPath(folder));
di.CreateSubdirectory(name);
}
Déplacer un fichier
protected void moveFile(string from, string name, string to)
{
FileInfo fi = new FileInfo(Server.MapPath(from) + "/" + name);
fi.CopyTo(Server.MapPath(FolderPath + "/" + to + "/" + name), true);
}
Uploader un fichier
...
Lire >>
01/01/2019 |
Admin |
C#
Pour empêcher de pouvoir redimensionner une textBox de type multiligne sous le navigateur chrome, il suffit tout simplement de rajouter l'attribut suivant : Style="resize: none;"
Ce qui donne :
<asp:TextBox runat="server"
ID="txtMulti"
Width="100%"
Rows="5"
TextMode="MultiLine"
Style="resize: none;" />
Si vous avez plusieurs TextBox de ce type sur votre site, vous pouvez rajouter ceci à votre css :
<style type="text/css">
textarea{resize:none;}
</style>
Lire >>
01/01/2019 |
Admin |
Javascript
La TextBox multiligne :
<asp:TextBox runat="server"
ID="txtMulti"
Width="100%"
Rows="7"
TextMode="MultiLine"
Style="resize: none;"
OnKeyPress="CaracMax(this, 10)"
MaxLength="10" />
La fonction JavaScript :
function CaracMax(texte, max) {
if (texte.value.length >= max) {
texte.value = texte.value.substr(0, max - 1);
}
}
Lire >>
01/01/2019 |
Admin |
C#
Le complètement ou complètement automatique, ou encore par anglicisme complétion ou autocomplétion, est une fonctionnalité informatique permettant à l'utilisateur de limiter la quantité d'informations qu'il saisit avec son clavier, en se voyant proposer un complément qui pourrait convenir à la chaîne de caractères qu'il a commencé à taper. cf wikipédia
Dans cet exemple nous allons voir comment fonctionne l'autoCompletion à l'aide d'une liste de pays.
1) Création du WebService
Dans un premier temps, il faut créer le WebService qui renverra la liste des pays commençants par la saisie de l'utilisateur.
Ici le fichier du WebService se nomme "MyService.asmx"
a) Sans base de données
Pour comprendre de façon très simple le fonctionnement de ce controle, on ne va pas utiliser de base de données, mais un simple tableau qui renverra des pays "en dur".
Code :
[WebMethod]
public string[] GetCountries(string prefixText, int count)
{
ArrayList countryList = new ArrayList();
string[] countries = { "France", "Finland", "Allemagne", "Pologne", "Italie", "Etats-Unis", "Angleterre" };
foreach (string country in countries)
{
if (country.ToLower().StartsWith(prefixText))
countryList.Add(country);
}
return
...
Lire >>
01/01/2019 |
Admin |
C#
Au lieu d'avoir les pages d'erreurs par défaut, souvent désagréable à voir par le client, asp.net permet en quelques cliques de personnaliser ces pages.
1) Décommenter la section "customErrors" dans le web.config
et y modifier le nom des fichiers, on peut y placer aussi bien des pages html que des pages aspx.
<customErrors mode="On" defaultRedirect="GenericErrorPage.aspx">
<error statusCode="403" redirect="403.aspx" />
<error statusCode="404" redirect="404.aspx" />
</customErrors>
L'attribut "mode" peut prendre 3 valeurs :
On : La gestion des erreurs est activée en local et à distance.
Off : Gestion d'erreurs désactivée.
RemoteOnly : Gestion des erreurs activée seulement à distance, en local se seront les pages par défaut.
2) Créer les pages
Ensuite il faut créer ces pages, soit de façon très simple en mettant une image et le nom de l'erreur ou alors en affichant un message dynamique (voir 3)
3) Personnaliser ses pages d'erreurs
a) Créer une classe "BasePage" qui va hériter de "System.Web.UI.Page"
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Configuration;
/// <summary>
/// Description résumée de BasePage
/// </summary>
public class BasePage : System.Web.UI.Page
{
public BasePage()
{
}
...
Lire >>
01/01/2019 |
Admin |
C#
"L'URL-rewriting est une réécriture d'URL. La technique consistant à réécrire sous forme plus simple des URLs complexes. Cette technique est transparente pour l'internaute ainsi que pour les moteurs de recherches. Le but principal est d'obtenir un meilleur référencement." cf kdj-webdesign.com
Le but de ce tutoriel est de transformer de façon transparente pour l'utilisateur ce genre d'url :
Au lieu d'avoir ce type d'adresse : http://www.lesite.com/product.aspx?id=1&name?leNomDeMonProduit
on préférera la transformer en : http://www.lesite.com/leNomDeMonProduit.html
A. Première technique
1) Ajouter la DLL nécessaire dans le répertoire Bin de votre site web
ThunderMain.URLRewriter.dll (4,50 kb) ou sur le site du projet "code source" :http://www.codeproject.com/aspnet/URLRewriter.asp
Clique droit sur le site, puis ajouter une référence pointant sur cette DLL.
2) Ajouter ou modifier le fichier Global.asax
Y ajouter cette méthode :
void Application_BeginRequest(object sender, EventArgs e)
{
ThunderMain.URLRewriter.Rewriter.Process();
}
3) Modifier le fichier Web.config
a) Ajouter dans la section "configuration" :
<sectionGroup name="system.web">
<section name="urlrewrites"
type="ThunderMain.URLRewriter.Rewriter,
 ThunderMain.URLRewriter,
...
Lire >>
01/01/2019 |
Admin |
C#
"En informatique, un obfuscateur est un utilitaire qui transforme le bytecode d'un programme en un bytecode aux fonctions équivalentes mais plus difficile à décompiler.
Le but de cet outil est de protéger un programme d'attaques ou d'intrusions notamment dans le domaine de l'espionnage industriel." cf Wikipédia
Cette technique permet d'obtenir un code impénétrable.
Introduction
Pour ce tutorial, je vais utiliser une classe très simple, la classe HelloWorld.cs, contenant une propriété, deux constructeurs et une méthode :
//-----------------------------------------------------------------------
// <copyright file="HelloWorld.cs" company="PH">
// Copyright (c) PH. All rights reserved.
// </copyright>
// <author>PH</author>
// <date>01/09/2010</date>
//-----------------------------------------------------------------------
namespace Dotfuscator
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
/// <summary>
/// HelloWorld Class
/// </summary>
public class HelloWorld
{
/// <summary>
/// Initializes a new instance of the HelloWorld class
/// </summary>
public HelloWorld()
{
}
/// <summary>
/// Initializes a new
...
Lire >>
01/01/2019 |
Admin |
C#
Mise en place de Log4Net :
1) Ajouter la référence log4net.dll au projet
2) Ajouter au projet, le fichier Global.asax.
Dans l’événement « Application_Start » ajouter ce code : log4net.Config.XmlConfigurator.Configure();
void Application_Start(object sender, EventArgs e)
{
// Code qui s'exécute au démarrage de l'application
log4net.Config.XmlConfigurator.Configure();
}
3) Ouvrir le fichier web.config puis
- ajouter dans la section « Configuration/Configsections » ce code :
<section name="log4net"type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
- Après la balise de fermeture</configSections> ajouter la balise <log4net><log4net/>
- Entre ces balises rajouter l’un ou ces deux codes en fonction de votre choix (envoi par mail, ou stockage dans un fichier)
o Log dans un fichier texte :
<appendername="LogFileAppender"type="log4net.Appender.FileAppender">
<paramname="File"value="Logs\\Log4Net.log"/>
<layouttype="log4net.Layout.PatternLayout">
<paramname="ConversionPattern"value="%d [%t] %-5p %c %m%n"/>
</layout>
</appender>
o Log par mail :
<appendername="SmtpAppender"type="log4net.Appender.SmtpAppender">
<tovalue="to@domain.com"
...
Lire >>