begin process at 2012 05 27 08:49:49
  Trouver un code source :
 
dans
 

183 commentaire(s) de jesusonline sur des sources sur aspfr

Déposé sur Response.filter : manipulation du stream de sortie asp.net

Si tu fais tes tests avec Visual Studio, tu n'as pas besoin de ça, c'est nativement intégré.

De mémoire, tu peux faire un test unitaire avec l'attribut et spécifier l'attribut HostType("ASP.net") et UrlToTest. Tu dois également pouvoir récuperer la réponse à partir d'un test web classique.
Posté le : 30/01/2009 09:24:12

Déposé sur .net2 - utilisation des validationgroup

Les contrôles de validation de ASP.net sont actif à la fois coté client et côté serveur.
J'ai écrit plus en détail sur le sujet ici : http://blogs.developpeur.org/cyril/archive/2008/09/02/asp-net-tout-savoir-sur-la-validation-des-entr-es-utilisateurs-les-controles-de-validation.aspx
Posté le : 26/09/2008 18:19:56

Déposé sur Custom user control collection

Je prefere avoir le code de traitement dans le render. Je trouva ca plus logique, cela évite que le code de traitement soit fait plusieurs fois, le Render est forcément fait une seule fois, de plus tous le framework .net fait ainsi.

Si le contrôle peut afficher 2 templates en même temps je ne vois plus l'interet du LocalizedView ? J'ai loupé quelque chose ou alors il est inutile ? :)
Posté le : 05/09/2008 17:47:04

Déposé sur Custom user control collection

L'idée est interessante, la réalisation est simple et propre => joli travail :)

Par contre pourquoi ne pas avoir mis le code de l'affichage (ou non) du contrôle dans le Render ? plutot que dans les setter des property ?
Je ne suis pas sur d'avoir compris l'utilité du contrôle LocalizedView ? D'après ce que j'ai lu des sources, il ne fait que contenir des MessageTemplate rien de plus ? Il aurait été interessant que le LocalizedView ne permette d'afficher qu'un seul des MessageTemplate. Actuellement il semble possible d'afficher 2 templates différents ?

Idées pour compléter le contrôle : A la place d'un String pour le CulturesInclude et CulturesExclude ca pourrait être sympa d'avoir un tableau de String. Idem plutot que d'avoir un String (ou un String[]) il serait sympa d'avoir un CultureInfo (ou CultureInfo[])
Posté le : 05/09/2008 16:10:28

Déposé sur Maxlength sur les textbox multiline

quel principe ?
Posté le : 17/05/2008 12:52:03

Déposé sur Upload file

Il s'agit d'une source ASP.net 1.x, avec ASP.net 2.0 il faut mieux utiliser le contrôle <asp:fileupload qui permet de simplifier la plupart des choses.

Ton code dispose d'une ENORME faille de sécurité. Qu'est-ce qui se passe si j'upload la page "CrashServer.aspx" et que je vais à l'adresse /others/CrashServer.aspx ?
Voici quelques règles de base au sujet de l'upload :
  - ne jamais faire confiance à l'utilisateur !
  - ne jamais stocker les fichiers avec le nom et extensions proposé par l'utilisateur
  - si possible :
     - ne pas autoriser tous les types de fichier, valider les données avant de les sauvegarder
     - ne pas sauvegarder les données dans un repertoire ayant des droits d'execution.
         - le top est de stocker les fichiers dans un dossier non accessible via IIS, puis renvoyer le contenu du fichier via un handler dédié.


Au niveau du code, je te conseille d'utiliser un Path.Combine plutot que de la combinaison de string.
Au lieu de faire de faire un extension.toLower() pour comparer les extensions, tu peux utiliser un String.Compare("EXE", "eXe", StringComparison.InvariantCultureIgnoreCase)
Au lieu de faire un if (s != String.Empty) tu peux utiliser la méthode String.IsNullOrEmpty (peut être pas dispo en .net 1.x)
Posté le : 24/04/2008 15:43:44

Déposé sur Icomparer générique et réflexion

pas besoin de T y'aura de l'inference de type :

Orderer.Sort<IComparable>(l, delegate(Person p){
  return p.Name;
}, delegate(Person p){
  return p.Age;
});

En fait après reflexion, je pense que tu pourrais remplacer U par IComparable dans la méthode Sort (et supprimer la contrainte where) car tu peux pas avoir une Get<U>[] où U aurait un type différent, donc autant passer par un IComparable directement.

le mot clé params veut dire que tu peux mettre autant d'argument que voulu, ils vont se regrouper dans un tableau automatiquement.

Posté le : 15/04/2008 11:48:58

Déposé sur Icomparer générique et réflexion

On trie d'abord par la premiere propriété puis la seconde propriété. Si les premières propriétés sont égales alors on check la seconde et ainsi de suite donc il est nécessaire de faire le break;
Posté le : 15/04/2008 11:08:58

Déposé sur Icomparer générique et réflexion

oui et non, le marketing chez microsoft c'est du n'importe quoi :)

le compilateur C#3 compile pour la CLR2 donc tu peux utiliser les assemblies du framework 2.0.
Le compilateur C#3 est livré avec .net 3.5 donc aussi avec VS2008, c'est pour ca que VS2008 permet de "compiler" pour .net 2.0, en fait il ne fait que ne pas inclure les assemblies du framework 3.x.

Le framework 3.0 et 3.5 tourne sur la CLR2 également.
Posté le : 15/04/2008 10:09:04

Déposé sur Icomparer générique et réflexion

Arf je suis bête pour le chainage ca va être plus compliqué :) faut le faire dans le delegate ou alors utilisé linq donc C#3

l.Sort(delegate(p1, p2){
   int v = p1.Name.compareTo(p2.Age);
   if (v == 0)
      v = p1.Age.compareTo(p3.Age);
   return v;
});

niveau vitesse ce code sera BEAUCOUP plus rapide que ce que tu as fait, la Reflection est extremement couteuse.

Toutes les simplifications de syntaxe que je vois pour ce simple bout de code viennent avec C#3. Tu peux éventuellement avoir un classe static du genre

public static class orderer<T>
{

    public delegate U Get<U>(T item) where U : IComparable<U>;

    public static void Sort<U>(List<T> l, params Get<U>[] m) where U : IComparable<U>
    {
        l.Sort(delegate(T item1, T item2)
        {
            int v = 1;
            foreach (Get<U> g in m)
            {
                v = g(item1).CompareTo(g(item2));
                if (v != 0)
                    break;
            }
            return v;
        });
    }
}

Puis utiliser ca ainsi

Sort(l, delegate(Person p){
  return p.Name;
}, delegate(Person p){
  return p.Age;
});

Avec les lambda expression en C#3
Sort(l, p => p.Name, p => p.Age);

Sauf erreur de ma part, le petit bout de code est équivalent à tout ton code pour trier une liste mis à part qu'il y a aura une vérification à la compil.

L'autre solution est d'utiliser un DataTable/Dataview qui fait déjà tous ce code pour toi !
Posté le : 14/04/2008 20:58:20

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,265 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales