vendredi, mai 3 2013

Event avec arguments sous JQuery

Il est parfois utile de pouvoir ajouter des arguments dans un event JQuery ... Voici comment le réaliser simplement ....

Lire la suite...

mercredi, avril 10 2013

Tableau de 2000 lignes avec un bouton ... et la c'est le drame en ASP.NET ... Optimisons le tout !

Beaucoup de personnes disent toujours que ASP.NET est lourd et ne génère pas de beau code HTML... Je reste persuadé que la mauvaise utilisation que l'on fait de ASP.NET pousse à ce genre de problème ... Voici un exemple simple ... Nous avons un cache objet à un certain endroit et nous avons une grille de 2000 lignes. Chaque ligne contient un simple libellé et un bouton qui exécutera une action sur cette ligne ... Nous pensons directement à Repeater / Label et Button ... Et la c'est le drame .... Nous avons un ViewState énorme et une page de très mauvaise qualité ... Il est donc temps de "penser" ... alors voici une autre idée ...

Lire la suite...

lundi, février 25 2013

Custom WebControl avec des events en Javascript

Après avoir expliqué comment réaliser un contrôle custom ASP.NET dans un précédent post, nous allons expliquer comment ajouter des "events" dans nos classes. Cela nous permettra de nous abonner et de réaliser des actions en conséquence.

Lire la suite...

samedi, juin 23 2012

Création d'un Custom WebControl avec du JavaScript embedded

Mon précédent article expliquait comment réaliser simplement un contrôle en prenant un peu la main sur ce qui se faisait en ASP.NET et en simplifiant les propriétés pour coller plus au besoin réel. Nous continuons dans cette direction mais en offrant maintenant à notre contrôle de nouvelles options. Nous ne voulons pas toujours exécuter toutes les validations côté serveur... En effet, certaines sont simples et peuvent s'effectuer sur le poste client. Par exemple ici, un pourcentage est toujours compris entre 0 et 100. Nous devons donc changer notre classe pour lui ajouter un "support" du JavaScript. Ce support permettra d'avoir une classe JavaScript de définie et instanciée pour chaque contrôle de ce type rendu à l'écran. Nous  mettrons le border en rouge si la valeur encodée dans la textbox est incorrecte.

Lire la suite...

lundi, juin 18 2012

Création d'un Custom WebControl

Depuis que je développe en .NET, j'entend toujours des gens expliquer qu'asp.net génère du code HTML de très mauvaise qualité, etc. Il n'en est rien dans la pratique. En effet, il est tout à fait possible de travailler en ASP.NET et de générer du beau code HTML. J'ai décidé suite à certaines implémentations réalisées il n'y a pas si longtemps ... de réaliser quelques articles sur ce sujet (en effet, nombre d'entre nous ne connait pas toute la puissance d'ASP.NET). Le premier porte ici sur la création d'un contrôle simple affichant une textbox. Côté .NET, nous pouvons récupérer la valeur. J'expliquerai prochainement comment ajouter des validations client JS propres ainsi que la réalisation de contrôles plus complexes.

Lire la suite...

lundi, décembre 5 2011

Conserver le "tab" courant en cas de postback avec JQuery UI Tabs

Nous souhaitons souvent amener un caractère sexy à notre page... Le framework à la mode est JQuery et il a intégré dans son plugin UI le composant permettant d’afficher une zone sous forme de 'tabs'. Néanmoins, l'utilisation d'ASP.NET amène parfois des problèmes. En effet, le moindre "changement" dans une dropdown en autopostback provoque un rechargement de la page. Evidement, JQuery UI Tabs étant 100% côté client, il est impossible de revenir sur le tab "courant" qui a déclenché le PostBack...

Cependant, nous pouvons facilement ajouter ce type de fonctionnalité dans notre code. Cet article l'explique.

Lire la suite...

jeudi, septembre 8 2011

Utiliser l'authentification OAuth2 de Foursquare sur un site ASP.NET MVC 3

Oauth a tendance à se généraliser dans le monde web pour l'authentification. Une des forces du système est la simplicité avec laquelle on centralise les informations et on s'authentifie ! L'exemple de ce post montre comment prendre n'importe quel site Web ASP.NET MVC 3 et ajouter un mécanisme d'authentification différent du "MemberShip" classique. Vous pouvez trouver plus d'informations sur OAuth via ce lien.

Lire la suite...

jeudi, septembre 30 2010

Création d'un custom WebControl

Souvent utilisé, parfois mal utilisé ... Voici un petit post de rappel sur "comment créer un custom WebControl" basique composé de deux textbox sans passer par un CompositeControl. Notre cas concret ici sera donc la création d'un contrôle Identité. Bonne lecture ...

Lire la suite...

dimanche, octobre 11 2009

Gridview ASP.NET avec en source une collection d'elements "interface'

J'ai été confronté ce vendredi au travail à une petite question "classique" que les développeurs posent quand ils remarquent un "problème" avec l'utilisation des GridView .... à savoir ... comment afficher dans une GridView une collection d'éléments de types différents ... Voici la réponse dans ce post !

Lire la suite...

lundi, juillet 6 2009

Custom engine en ASP.NET MVC 1.0

La force d'asp.net MVC est sa modularité. Il est possible en quelques minutes de modifier les "briques" de base du projet. Je vais expliquer comment le réaliser. Le but de ce post n'est pas de faire un cas "concret" mais d'expliquer comment le faire. Je vais donc montrer comment modifier le module "Controller" et "Vue" du projet.

Lire la suite...

mardi, avril 7 2009

Client Ajax pour ADO.Net data Services (opération SELECT)

Le but de ce mini post est de montrer qu'il est possible de faire rapidement une page Ajax contenant une dropdown qui se remplit lorsqu'on le souhaite via une requête sur le "service" ADO.Net que l'on a créé dans les précédents posts !. Ce type de développement offre de belles perspectives et va réduire la taille du viewstate & le nombre de ko transféré en POST au serveur ... Que du positif pour l'optimisation du site web !

Lire la suite...

jeudi, mars 26 2009

Merge rapide de colonnes d'une GridView en ASP.NET

Il est si simple d'avoir une petite gridview dans une page ASP.NET pour afficher des résultats... Mais qu'en est il d'un regroupement des mêmes valeurs ... En effet, parfois on ne veut qu'une seule occurence propre dans une colonne ...Par exemple un seul lien externe qui représente le lien qui nous amènera vers l'ensemble des lignes de la grille ayant le "même type". Il est évidement possible de jouer avec le RowSpan d'une grille en quelques minutes. Bref anyway ! Passons a l'exemple ... Ce sera plus parlant ;-)

Lire la suite...

mardi, mars 3 2009

Création d'un système de notification en Ajax (microsoft)

Introduction

Je vais vous présenter ici un petit mécanisme de notification passant par un webservice. A interval régulier, le client via Javascript va demander au webservice une information. Nous utiliserons ici le framework Ajax de Microsoft.

Lire la suite...

dimanche, décembre 14 2008

Custom View en ASP.NET MVC Bêta

Il est possible avec certains framework MVC du marché de créer des vues optimisées pour un browser. Prenons par exemple le cas de Ruby on Rails et du support de l'iphone (expliqué sur ce post). Mais qu'en est-il de cette fonctionnalité sous ASP.NET MVC ?

Lire la suite...

dimanche, décembre 7 2008

Custom Model binder en ASP.NET MVC Beta

Après plusieurs semaines sans Internet à domicile, me revoici en ligne avec le reste du monde ;-).. J'en profite pour publier un article sur la gestion des "Binders" en ASP.NET MVC.

Lire la suite...

jeudi, juillet 17 2008

ASP.NET MVC Preview 4 : Support d'ajax

Depuis ce 16 juillet 2008, la nouvelle version d'ASP.NET MVC Preview 4 est disponible en test. Il y a quelques nouveautés intéressantes .... Je passerai ici les actions disponible pour l'authentification... En effet, il était possible de le réaliser simplement via l'attribut ActionFilterAttribute dont je vous ai parlé il y a quelques temps ...
Les sujets de ce soir seront l'ajout d'ajax! (Il était temps ;-)) et les changements pour l'attribut ActionFilter.

Lire la suite...

mercredi, juillet 16 2008

Set de propriétés de contrôles asp.net en fonction du browser

Dernièrement, j'ai découvert qu'il était possible de préfixer les propriétés de contrôles en fonction du browser. Il est possible d'afficher un texte différent dans une page ASP.NET sur un bouton en fonction du browser utilisé. Ceci ne fonctionne qu'en déclaratif dans la page aspx. La liste des browsers se trouve dans ce répertoire : C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers.
Il est important de noter que tout code c# affectant ces propriétés modifiera le comportement de tous les browsers.
Voici un petit exemple:

<asp:Button ID="Button1" runat="server"
ie:Text="Button IE" mozilla:Text="Button Mozilla"  />

dimanche, juin 29 2008

Etendre les actions / Result sur le framework ASP.NET MVC

Il est possible d'étendre simplement les actions et données renvoyées lors d'un appel vers un controller. Pour se faire, il suffit d'implémenter le comportement que l'on souhaite ajouter et de tag la méthode avec l'attribut.
  • Implémentation de la classe qui ajoutera le comportement
  • public class FiltrageAttribute : ActionFilterAttribute
    {
    public override void OnActionExecuting(
    ActionExecutingContext filterContext)
    {}
    public override void OnActionExecuted(
    ActionExecutedContext filterContext)
    {}
    public override void OnResultExecuted(
    ResultExecutedContext filterContext)
    {}
    public override void OnResultExecuting(
    ResultExecutingContext filterContext)
    {}
    }
  • Tag sur la méthode
  • public class HomeController : Controller
    {
    [FiltrageAttribute]
    public ActionResult Index()
    { return new View(); }
    }
En quelques minutes, il est possible d'ajouter un mécanisme d'authentification unifié sur une application ASP.NET MVC ou de réduire le droit d'accès sur une méthode en fonction d'un rôle utilisateur.

dimanche, juin 22 2008

Surcharge de thème en ASP.NET 2.0+

Vous utilisez peut-être la propriété "Theme" sur votre page comme ceci:

<%@ Page Language="C#" AutoEventWireup="true" 
CodeFile="Default.aspx.cs" Inherits="_Default" Theme="Lelibre" %>

Comment surcharger certaines propriétés CSS d'un contrôle sur une page ? Il existe à ma connaissance deux approches.
  • Désactivation du thème sur le contrôle
  • Le contrôle qui a sa propriété "EnableTheme" à "false" ne sera pas rendu en utilisant les skin disponibles sur le site web.
    
    <asp:Label runat="server" ID="label" Text="Hello world !" 
    EnableTheming="false" ForeColor="Red" />
    
    
  • Utilisation de la propriété "StylesheetTheme" en lieu et place de "Theme"
  • L'utilisation de "StylesheetTheme" offre au développeur la possibilité de surcharger certaines propriétés du thème via code / propriétés. Si nous spécifions une couleur "Red" à la propriété "ForeColor" d'un label et que dans le skin le ForeColor du label est à "Green", le rendu affichera le label en rouge et non en vert.
    
    <%@ Page Language="C#" AutoEventWireup="true" 
    CodeFile="Default.aspx.cs" Inherits="_Default" 
    StylesheetTheme="Lelibre" %>
    
    
    J'espère avoir pu vous aider dans la notion de surcharge de CSS en asp.Net 2.0. Si vous connaissez une autre approche, merci de le signaler ;-)

lundi, juin 2 2008

EventValidation (Vive le Web 2.0) ...

Je vais vous présenter un sujet intéressant.... J'ai pu discuter ce weekend avec un ex-collègue parisien qui est devenu spécialiste Web 2.0 ... Nous avons remarqué que certaines nouveautés d'asp.net 2.0 ajoutant de la sécurité pouvaient devenir des contraintes avec du développement javascript. Je vais donc vous résumer ce premier point.... D'autres points pourraient venir ;-).

Lire la suite...

- page 1 de 2

Page top