jeudi 20 mai 2010

Nouveau chez nous

Après le site web mycandyparadise qui permettait de commander des bonbons en ligne ouvert par des amis, voici qu'il ont maintenant pignon sur rue avec une boutique à Rodez. Rendez vous au 67 Rue Beteille pour découvrir Mazette et faire le plein de bonbons.


mercredi 10 février 2010

Utiliser MS Chart sur Serveur IIS

Le nouveau composant chart de MS permet comme son nom l'indique de faire des graphiques. Bien que son installation soit très facile sur la machine de développement on peut se retrouver bloqué lors du déploiement de l'application sur un serveur IIS.
Suite à l'installation, l'application web risque de nous afficher un message indiquant qu'il ne trouve pas "System.Web.DataVisualization" ...

La solution est la suivante :
Dans le fichier web.config ajouter les 3 choses suivantes : 

Au niveau de <appSettings>
<add key="ChartImageHandler" value="storage=file;timeout=20;dir=C:\_chart_temp;"/>

Au niveau de <system.web><httpHandlers>
<add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>

Au niveau de <system.webServer><handlers>
<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

Ces trois ajouts doivent vous permettre d'assurer le fonctionnement :)

Quelques références pour vous aider :

En espérant que ca en aidera certains :)

mardi 05 janvier 2010

Bug AjaxControlTookit : TabContainer et TabPanes dynamiques / ModalPopupExtender

Après de nombreux essais j'ai pu me rendre compte que les deux dernières versions de l'AjaxControlToolkit releasées pouvaient poser problème.

La version 30512 pose problème avec les TabContainer pour lesquels on crée dynamiquement des TabPanes.
Imaginons que l'on créé des TabPanes en fonction d'une sélection dans des DropDownList, il peut arriver que l'on se retrouve avec des erreurs javascript sur le "onChange" d'une des DropDownList.

Ce problème est corrigé dans la version 30930 mais cette dernière pose problème avec les ModalPopupExtender.
En effet si l'on met des Textbox dans une ModalPopup en vue de faire une saisie utilisateur, la valeur entrée se retrouve avec une virgule en première position lors du postback (si l'on saisit "hello" dans la Textbox, après postback Textbox.Text se trouve être ",hello" ... problèmatique quand même.

Ma solution : télécharger les sources des deux versions, et copier tous les fichiers du répertoire Tabs de la version 30930 dans le dossier Tabs de la version 30512 et recompiler le toolkit version 30512 avec ces nouveaux fichiers. Je ne met pas ici la version que je me suis compilée et je vous invite à vous rentre sur le site CodePlex dédié :

Site AjaxControlToolkit
Télécharger la Version 30930
Télécharger la Version 30512


mercredi 16 décembre 2009

Myspace Magi K Map

Un petit billet rapide pour linker le Myspace des amis de Magi K Map que je viens de personnaliser.

Dédicace à la famille D4C :)

http://www.myspace.com/magikmap


jeudi 10 décembre 2009

Exécuter un javascript à la fin de chaque requete AJAX.

Il est parfois pratique de pouvoir appeler un javascript à la fin d'un appel ajax (par exemple pour cacher un élément qui ne serait pas dans un update panel)

Exemple concret : des boutons d'export vers Excel ou Word comme dans ce billet ne peuvent pas être dans un UpdatePanel.
Si l'on souhaite les cacher lorsqu'aucun résultat à exporter n'existe, il faudra ajouter un HiddenField dans l'UpdatePanel qui prendra la valeur 1 ou 0 selon qu'il y a des résultats ou pas et un javascript qui lit sa valeur après chaque appel ajax pour cacher ou montrer le bouton d'export.

Un exemple parlant plus que des mots, prenons le code ci-dessous :

<table id="tableExport" style="display:none">
    <tr>
        <td align="center"><asp:ImageButton ID="ibt_excel" runat="server" onclick="ibt_excel_Click" ToolTip="Exporter vers Excel" ImageUrl="~/icones/page_excel.gif"/></td>
    </tr>
</table>
<asp:UpdatePanel  ID="UpdatePanel2" runat="server">
    <ContentTemplate>
        <asp:GridView ID="grdVue" runat="server">
        </asp:GridView>
        <asp:HiddenField ID="hdnHasResult" runat="server" Value="0" />
    </ContentTemplate>
</asp:UpdatePanel>

Je fais volontairement abstraction du code de remplissage de la GridView qui n'a pas d'intérêt pour ce billet.
La seule chose à faire lors du remplissage de la GridView est de positionner la valeur de hdnHasResult à 0 ou à 1.

A la fin de la page ajouter le code suivant :

//Affiche ou cache les boutons à chaque fois qu'un appel ajax est effectué
function gridViewHasResult(){
    var hdnHasResult = $get('<%=hdnHasResult.ClientID %>');
    if (hdnHasResult.value!='0'){
       document.getElementById('tableExport').style.display = '';
    }
    else{
       document.getElementById('tableExport').style.display = 'none';
    }
}

//Enregistre la méthode gridViewHasResult pour esxécution à la fin de chaque appel ajax.
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(gridViewHasResult);

</script>

A chaque fois que l'UpdatePanel sera raffraichit la fonction gridViewHasResult sera appelée.


vendredi 13 novembre 2009

Un SDK Facebook

A tester rapidement :)

Discution sur développez.net

sur MSDN


jeudi 22 octobre 2009

Utiliser un Repeater pour créer un tableau

Si vous voulez utiliser la balise <asp:Repeater> pour afficher par exemple une galerie photo dans un tableau et revenir à la ligne toutes les X photos voici une solution en utilisant le <SeparatorTemplate>

Lire la suite...

samedi 17 octobre 2009

URL Rewriting après passage de Dotclear 1.x à Dotclear 2.x

LA v2 de Dotclear utilise des url différentes de la v1.X aussi, quand on a des posts référencés dans google, on risque de voir les liens mener nulle part ... après quelques recherches, voici ma solution.

Lire la suite...

jeudi 15 octobre 2009

Exporter une gridview vers Excel ou Word

Quel beau composant que la GridView :)

Combien d'utilisateurs ont pu souvent nous dire "Ca serait bien de pouvoir exporter ce tableau sur Excel" ... avant avec ASP... on tirait une peu la gueule. Maintenant avec ASP.Net on serait presque tentés de tout exporter vers Excel tellement c'est enfantin :)

Lire la suite...

SmillaEnlarger : Image enlarger :)

Un petit outil sympa permettant d'agrandir des images sans trop de perte de qualité.
http://sourceforge.net/projects/imageenlarger/files/

- page 1 de 7