Archives pour la catégorie “ASP.Net”

Petite astuce pour ceux qui ont besoin de générer des images sur leur site web, et qui veulent permettre aux visiteurs de les sauvegarder. Pensez-bien à utiliser comme « Content-type » le type « image/jpeg », et non une variante comme « Image/Jpg » par exemple. Cela provoquerait une erreur lors de la sauvegarde dans les navigateurs pointilleux sur ce point (comme IE7).

Comments Pas de commentaire »

La sortie de Visual Studio 2008 s’accompagne également de nombreuses nouveautés concernant ASP.Net . N’ayant pas eu le temps d’essayer les différentes versions beta, je vais les tester directement sur la version finale, et vous pouvez trouver la liste de toutes les nouveautés et les explications associées à cette adresse : http://www.asp.net/downloads/vs2008/ 

Parmi les nouveautés, les nouveaux contrôles « ListView » et « DataPager » promettent de faire gagner beaucoup de temps sur mes développements, et on va certainement se demander rapidement comment on a pu se passer du langage d’interrogation des données LINQ.

Tout ça va donner un coup de vieux aux plateformes alternatives, en tout cas de mon point de vue et de celui de beaucoup de développeurs ;)

Côté Visual Studio proprement dit, le moteur du « web designer » est emprunté à celui du logiciel « Expression Web Designer », avec un excellent support des CSS. Le débogage de Javascript va être également beaucoup plus simple, et on a enfin la possibilité de choisir la version du framework que l’on souhaite viser. Ceci permettra de maintenir les « vieux » projets sans multiplier les versions de Visual Studio …

Comments Pas de commentaire »

Depuis pas loin d’une semaine, j’essayais de comprendre pourquoi mon code, qui fonctionnait très bien sur un autre serveur auparavant, ne permettait pas à un utilisateur de voir la taille du téléchargement d’un fichier que j’envoyais depuis une page ASPX. Le téléchargement se passait bien, mais l’utilisateur ne pouvait pas savoir où il en était de son téléchargement, et comme les fichiers en question sont volumineux …

Mais j’ai trouvé la solution ce matin :)

En fait, ça venait du fait que la compression était activée sur notre nouveau serveur web, et même en spécifiant le header « Content-Length », la compression perturbait l’interprétation de cette entête.

L’astuce est ici de désactiver la compression uniquement pour un fichier, ce qui n’est pas intuitif non plus, et voici la marche à suivre (traduit de cet article http://www.technoag.com/2006/10/25/iis6-http-compression-ie-6-pdf-trouble/ ) :

  1. Ouvrir le gestionnaire IIS sur le serveur
  2. Naviguer juqu’au fichier ASPX sur lequel on veut désactiver la compression
  3. Ouvrir le fichier et faire un léger changement (par exemple, si dans l’onglet sécurité, l’accès anonyme est activé, ajoutez l’authentification de base, afin que le fichier apparaisse comme une exception dans la metabase IIS)
  4. Ouvrir une invite de commande et placez-vous dans le répertoire « c:\inetpub\AdminScripts »
  5. Lancez les commandes suivantes pour désactiver la compression sur ce fichier :

cscript adsutil.vbs set W3SVC/[#]/Root/[PathToFile]/DoStaticCompression False

cscript adsutil.vbs set W3SVC/[#]/Root/[PathToFile]/DoDynamicCompression False

Où [#] est l’identifiant du site dans IIS (Allez dans les sites web dans le gestionnaire IIS et regarder l’identificateur dans la colonne de droite)

Et

Où [PathToFile] est le chemin depuis la racine de votre application web vers le fichier ASPX (ou un autre fichier) sur lequel vous souhaitez désactivez la compression .

 Et voilà ;) En plus, le téléchargement est beaucoup plus rapide avec la compression désactivée.

Comments Pas de commentaire »

Ayant récemment configuré un nouveau serveur sous Windows Server 2003, j’ai cherché un moyen pour que les sites web soient par défaut associés à la V2 du framework .Net .

La solution est simple, il suffit de lancer la commande suivante (adaptez le chemin de l’exécutable pour votre serveur):

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

Par contre, je n’ai pas osé le faire sur un serveur qui tournait déjà, car si vous avez des sites qui tournent encore avec la version 1.1, c’est plus compliqué … possible mais plus long.

Comments Pas de commentaire »

J’avais parlé récemment de la nouvelle version de « l’ASP.Net RSS Toolkit » en disant qu’il était très pratique à utiliser. Si c’est vrai pour afficher un flux RSS existant et même pour le générer, il nécessite plusieurs adaptations si on veut fournir facilement un flux RSS valide à nos clients.

On trouve la plupart des réponses dans les discussions du projet sur CodePlex, mais voici déjà une petite astuce pour vous faciliter le travail :

  • pour le contenu de l’attribut « link », vous pouvez utiliser l’objet RssXmlHelper comme ceci :

RssXmlHelper.ResolveAppRelativeLinkToUrl(« ~/rss.aspx »);

  • et pour mettre les dates au format RFC 822, c’est aussi simple :

RssXmlHelper.ToRfc822(System.DateTime.Now)
Bons flux RSS ;)

Comments Pas de commentaire »

Comme j’utilise de plus en plus Ajax, et en particulier via les « UpdatePanel », j’ai été confronté à l’impossibilité de positionner le focus sur un champ avec la classique méthode « SetFocus() ».

L’astuce est en fait d’utiliser ce code, plus long mais qui marche à l’intérieur ou à l’extérieur d’un UpdatePanel :)

System.Web.UI.ScriptManager.GetCurrent(this).SetFocus(ID_du_controle);

Comments Pas de commentaire »

Afin de mieux sécuriser les envois de fichiers de nos clients, je rajoute à présent systématiquement un « RegularExpressionValidator » que j’associe au contrôle NeatUpload .

L’astuce que je voulais faire partager ici, c’est le moyen de faire un test insensible à la casse des lettres, car, par défaut, ce contrôle de validation fait toujours la différence entre minuscules et majuscules. Il est toujours possible d’utiliser un CustomValidator, mais c’est moins convivial pour les utilisateurs.

L’expression régulière à utiliser pour vérifier qu’un fichier a bien l’extension « .pdf » ou « .doc » par exemple est donc la suivante : ^.+\.(([pP][pP][sS])|([dD][oO][cC]))$

En espérant que ça vous fasse gagner du temps ;)

Comments Pas de commentaire »

Microsoft vient de mettre à disposition un « hotfix » pour faciliter le débogage dans cette configuration particulière (et qui est la mienne ;-) ).

Donc si vous êtes concerné, le fichier se trouve à cette adresse.

Comments Pas de commentaire »

Après avoir essayé plusieurs méthodes, j’ai trouvé, lors du développement d’un de nos sites de commerce électronique, un article décrivant un moyen d »intégrer proprement ces moyens de paiement dans un projet ASP.Net .

En effet, les tags <form> ont un rôle bien particulier dans ce type de projet, et on ne peut pas les rajouter n’importe où, ni n’importe comment. Je vous invite donc à vous reporter à ces deux articles (en anglais, mais le code est assez explicite) :

J’espère que ça vous aidera dans vos développements ;-)

Et vous pourrez voir une démonstration en production dans quelques jours sur la nouvelle version du site Ecosolaire

P.S. : A noter aussi l’intégration du contrôle « Accordion » de la bibliothèque Ajax ASP.Net …

Comments Pas de commentaire »

Vous avez peut-être eu besoin d’utiliser un contrôle Hyperlink à l’intérieur d’un Repeater d’une page ASP.Net. Si vous avez voulu intégrer un « ID » dans la propriété « NavigateUrl », vous avez peut-être eu du mal à faire en sorte qu’il soit interprété normalement.

L’astuce réside ici à mettre toute la chaîne entre les tags <% %>, par exemple :

NavigateUrl=’<%# « mapage.aspx?id= » + Eval(« id ») %>’

En espérant que ça vous évitera de perdre du temps ;-)

Comments Un commentaire »

Close
E-mail It
Socialized through Gregarious 42