michelc Blog

Just <strong>another</strong> WordPress.com weblog

Archive for décembre 2005

Comment résoudre le problème du « double-clic » en asp.net

with one comment

Une méthode générique pour pallier au problème du « double-clic » quand un utilisateur double clique au lieu de simplement cliquer une fois pour valider un formulaire, ce qui risque de le soumettre 2 fois. Pour contourner ça, le bouton qui a été cliqué est caché une fois que l’utilisateur a cliqué dessus.

Pour que ça fonctionne avec tous les formulaires, la bidouille est appliqué au niveau de l’évènement Render de la page.

protected override void Render(HtmlTextWriter output) {
    // Get normal html ouput
    StringBuilder stringBuilder = new StringBuilder();
    StringWriter stringWriter = new StringWriter(stringBuilder);
    HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter);
    base.Render(htmlWriter);
    string html = stringBuilder.ToString();
    // Enhance submit buttons
    string onclick1 = "\"if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate();";
    string onclick2 = "\"this.style.display='none';";
    html = html.Replace("onclick=" + onclick1, "onclick=" + onclick2 + onclick1.Substring(1));
    // Render updated html
    output.Write(html);
}

(Publié à l’origine sur http://www.bigbold.com/snippets/posts/show/975)

Written by michel

14 décembre 2005 at 7:32

Publié dans .net, Code Snippets

Correction problème double click

leave a comment »

Certains utilisateurs cliquent plusieurs fois sur le bouton [OK] (à cause d’un problème de souris ou parce qu’ils ont l’habitude de double-cliquer pour valider). Lorsque l’on ne teste pas si les données saisies sont uniques (cas des messages d’un forum par exemple), cela conduit à créer deux enregistrements au lieu d’un.

Pour contourner ce problème, le bouton de validation est caché via l’évènement client « onclick ». Et pour éviter de mettre à jour les boutons de chaque formulaire, la modification est gérée de façon globale au niveau de l’évènement serveur « Render » de default.aspx.cs :

protected override void Render(HtmlTextWriter output) {
    // Get normal html ouput
    StringBuilder stringBuilder = new StringBuilder();
    StringWriter stringWriter = new StringWriter(stringBuilder);
    HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter);
    base.Render(htmlWriter);
    string html = stringBuilder.ToString();
    // Enhance submit buttons
    string onclick1 = "\"if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate();";
    string onclick2 = "\"this.style.display='none';";
    html = html.Replace("onclick=" + onclick1, "onclick=" + onclick2 + onclick1.Substring(1));
    // Render updated html
    output.Write(html);
}

Note: la modification de default.aspx.cs est suffisante étant donné qu’il s’agit de la seule « vrai » page de Quick-Content et que toutes les autres pages ne sont que de l’url rewriting.

Voir aussi : How to work around the « double-click » problem

Written by michel

14 décembre 2005 at 3:37

Publié dans .net, QC

Générer GoogleSearchService.dll à partir de GoogleSearch.wsdl

leave a comment »

Pour générer la source C#, taper :

wsdl GoogleSearch.wsdl

Cele crée un fichier GoogleSearchService.cs, à compiler par :

csc /target:library GoogleSearchService.cs

Ou pour Mono par :

mcs /target:library GoogleSearchService.cs

Ce qui produit l’assembly : GoogleSearchService.dll
(Publié à l’origine sur http://www.bigbold.com/snippets/posts/show/976)

Written by michel

14 décembre 2005 at 8:29

Publié dans .net, Code Snippets

Vit’o Bureau

leave a comment »

Un exemple de site très simple réalisé sous Quick-Content et dont le code XHTML est intégralement validé (à l’exeption de la publicité Google 🙂 : Vit’o Bureau qui livre votre repas sur le lieu de travail.

Ce billet est essentiellement destiné à tester ce que donne un lien depuis un blogue obscur en matière de référencement.

Mise à jour (16/12/2005) : avant les vacances, un lien vers le site de Frédéric sur Condrieu et sous Quick-Content 🙂

Written by michel

5 décembre 2005 at 3:20

Publié dans QC, Référencement

Amélioration XxxxxxSearch – étape 2

with one comment

  • Meilleure prise en compte de la recherche en mode GET via le paramètre « query »,
  • L’extrait du contenu est désormais présenté dans un élément «blockquote»,
  • Le lien affiché après l’extrait est intégré dans une balise «span» pour pouvoir lui appliquer un style particulier.

Written by michel

1 décembre 2005 at 8:51

Publié dans QC