Tout est dans le titre : je suis à nouveau MVP ASP.NET pour l'année 2011.
J'en profite pour vous souhaiter à tous une très bonne année 2011, qu'elle soit riche en projet de toutes sortes.
Vous devez être identifié pour poster un commentaire.
Après avoir été nominé MVP Visual C++ en 2007, je change désormais de domaine d'expertise.
Je suis en effet nominé MVP ASP.NET pour cette année de 2010.
J'en profite pour vous présenter mes meilleurs voeux pour 2010, qu'elle soit riche en .NET, en C# et en projets persos :)
Vous devez être identifié pour poster un commentaire.
, nico-pyright(c) Si vous développez avec ASP.NET et que vous voulez faire de l'Ajax, vous vous êtres probablement intéressés aux PageMethods.
Pour rappel, on peut utiliser les PageMethods de cette façon.
Si vous avez utilisé les PageMethods, vous vous heurterez fatalement à l'erreur suivante :
PageMethods is not defined Sisi, je vous assure :)
Voici ce que vous pouvez faire et vérifier pour que ce message qui révèle toute notre impuissance face au framework ASP.NET puisse enfin disparaitre :
Vous devez être identifié pour poster un commentaire.
, nico-pyright(c) Découvrez la refonte de la FAQ ASP.NET, en VB.NET.
Au menu :
- Refonte du plan de la FAQ
- Mise à jour de questions/réponses obsolètes
- Ajout de 60 nouvelles questions/réponses
Vous pouvez laissez vos avis/commentaires/suggestions sur ce billet ou sur le forum
Vous devez être identifié pour poster un commentaire.
, nico-pyright(c) Découvrez la refonte de la FAQ ASP.NET, en C#.
Au menu :
- Refonte du plan de la FAQ
- Mise à jour de questions/réponses obsolètes
- Ajout de 28 nouvelles questions/réponses
Vous pouvez laissez vos avis/commentaires/suggestions sur ce billet ou sur le forum
Vous devez être identifié pour poster un commentaire.
, nico-pyright(c) Ce cher Jérôme me faisait remarquer à juste titre que cette entrée de la FAQ : Peut-on avoir plusieurs formulaires avec runat=server dans une même page ? n'était pas très étoffée...
Et il a tout à fait raison.
Mais pourquoi ne peut-on pas avoir plusieurs formulaires avec runat=server sur une même page ?
Il serait d'ailleurs plus judicieux de préciser qu'on ne peut pas avoir plusieurs formulaires visible sur la même page.
En effet
1: <form id="form1" runat="server">
2: </form>
3: <form id="form2" runat="server" visible="false">
4: </form>
ne posera pas de problème d'exécution, tandis que :
1: <form id="form1" runat="server">
2: </form>
3: <form id="form2" runat="server">
4: </form>
levera l'HttpException suivante :
A page can have only one server-side Form tag.
Le modèle de programmation à formulaire unique (Single Form Model) est fait de manière à n'avoir qu'une seule balise form visible, avec l'attribut runat = server. Cela permet à ASP.NET de gérer les contrôles qui sont posés dans le formulaire, ayant la balise runat=server, coté serveur. Cela permet entre autre de pouvoir y accéder dans le code behind directement.
Le modèle de développement impose que les éléments de formulaire soient postés à la même page qui les a soumis, ce qui permet aux mécanismes d'ASP.NET (ViewState, etc ...) de fonctionner correctement.
Pour la curiosité, la pile d'appel au moment de l'exception nous permet de constater que l'exception est levée au moment de l'appel à la méthode System.Web.UI.Page.OnFormRender()
Un petit coup de reflector nous permet de voir
1: internal void OnFormRender()
2: {
3: if (this._fOnFormRenderCalled)
4: {
5: throw new HttpException(SR.GetString("Multiple_forms_not_allowed"));
6: }
7: this._fOnFormRenderCalled = true;
8: this._inOnFormRender = true;
9: }
Cette méthode OnFormRender est appelée au moment du rendu du contrôle HtmlForm. Le code issu de Reflector nous permet bien de constater qu'un boolean est mis à vrai lors du rendu d'un contrôle HtmlForm. Si ce boolean est déjà à vrai, alors l'exception est levée.
Cette entrée de faq sera modifiée à la prochaine (très bientôt) mise à jour.
Vous devez être identifié pour poster un commentaire.
, nico-pyright(c) On l'a souvent vu, l'utilisation de l'updatepanel est très pratique et améliore très facilement l'expérience utilisateur d'un site web.
Mal utilisé, celui-ci peut récupérer beaucoup plus d'informations que nécessaire.
Que faire par exemple dans le cas simple suivant, lorsque l'on doit mettre à jour plusieurs zones en même temps d'une page volumineuse ?
Quelque chose dans ce genre :
Vous devez être identifié pour poster un commentaire.
, nico-pyright(c) (english reviews follow)
Ecrit dans une langue de Shakespare plutôt abordable, ce livre constitue une référence pour qui veut apprendre le framework MVC d'ASP.NET.
Les auteurs, acteurs reconnus du monde du développement, ne font pas que nous enseigner les arcanes du framework, mais nous guident dans le développement ASP.NET MVC à travers leurs expériences et leurs bonnes pratiques.
On appréciera notamment les différentes prises de position sur TDD ainsi que les différents pattern à mettre en place pour réussir ses tests.
On découvrira en détails les différents éléments clés du modèle MVC. Les contrôleurs sont expliqués en détails ainsi que les vues (et les HtmlHelper). Le chapitre sur le routing nécessitera sans doute une deuxième relecture pour être parfaitement appréhendé.
On lira également avec intérêt les chapitres sur les filtres (notion que j?ai rarement vu abordé dans des tutoriels, mais oh combien utile) et sur AJAX : on découvrira que le framework peut aller très loin dans l'aide au développement d'application web.
Ce livre propose aussi en premier chapitre l'excellent tutoriel de Scott Guthrie, disponible également en téléchargement gratuit.
Enfin, les auteurs expliquent également les différences entre le développement "Webforms" d'ASP.NET et MVC, ce qui permettra au lecteur de savoir quel framework est le plus adapté à ses besoins. Un chapitre est également dédié à l'interaction entre les deux mondes.
En conclusion, cet ouvrage constitue vraiment un point d'entrée incontournable à qui veut apprendre sérieusement à maitriser le framework MVC. Je l'ai trouvé autant agréable à lire qu'il m'a apporté d'informations sur le framework MVC.
Note : 5/5
Professional ASP.NET MVC 1.0
The authors, gurus of the development?s world, not only teach us the intricacies of the framework, but guide us in developing ASP.NET MVC through their experiences and best practices.
We would appreciate the different positions on TDD as well as the different pattern to put in place to have great tests.
We discover in detail the various key elements of the MVC model. The controllers are explained in detail and the views too (and HtmlHelper). The chapter on routing may require a second reading to be fully understood.
We would read with interest the chapters on filters (a concept that I have rarely seen addressed in tutorials, but very useful) and AJAX: we discover that the framework can go very far to help you with web development.
This book start with the excellent tutorial by Scott Guthrie, also available for free download.
Finally, the authors also explain the differences between the ?Webforms? development and MVC with ASP.NET, which will allow the reader to know which framework is best suited to its needs. A chapter is also dedicated to the interaction between the two worlds.
To finish, this book is really a very good entry point to people who seriously wants to learn to master the MVC framework. I found it as pleasant to read as it gaves me good information on the MVC framework.
Rating : 5/5
Professional ASP.NET MVC 1.0
Vous devez être identifié pour poster un commentaire.
, nico-pyright(c) Cet article montre différentes méthodes pour effectuer des rendus partiels sur un site ASP.NET. Certaines méthodes utilisent abondamment les mécanismes mis en place par le framework ASP.NET (en utilisant par exemple un UpdatePanel, les PageMethods ou un service WCF). Elles permettent de s'affranchir de certaines lourdeurs automatiquement.
D'autres sont plus artisanales et permettent de maitriser complètement les données qui transitent et la façon dont elles doivent être interprétées, comme on pourra le voir en utilisant jQuery et ASP.NET.
Vous devez être identifié pour poster un commentaire.
, nico-pyright(c) Je vous présente ici une méthode qui peut permettre de connaitre la taille finale de sa page, à des buts de profiling par exemple ou simplement de log.
Vous devez être identifié pour poster un commentaire.
, nico-pyright(c) Me voici à nouveau renouvelé pour cette année 2009, toujours à votre service.
J'en profite pour vous adresser mes meilleurs voeux pour cette année, puisse-t-elle être encore pleine de .NET, de tutoriels et de questions marquées résolues ![]()
Vous devez être identifié pour poster un commentaire.
, nico-pyright(c) En voilà un titre long ![]()
Il faut dire qu'il s'agit d'un problème qui arrive dans le cas suivant :
On dispose d'une masterpage, ex (un peu épuré) :
<%@ Master Language="C#" AutoEventWireup="false" CodeBehind="Site1.master.cs" Inherits="testMasterPage.Site1" %>
<html><head runat="server"><title></title></head>
<body>
<form id="form1" runat="server">
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</form>
</body>
</html>
Lorsque l'on crée une page qui utilise cette masterpage et qui remplit le ContentPlaceHolder, ex :
<%@ Page Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="false" CodeBehind="Default.aspx.cs" Inherits="testMasterPage._Default" %>
<asp:Content runat="server" ContentPlaceHolderID="ContentPlaceHolder1">
<asp:Label ID="leLabel" runat="server" />
</asp:Content>
Si j'essaie d'accéder à mon label dans le OnPreInit de la page, ex :
protected override void OnPreInit(EventArgs e)
{
leLabel.Text = "Mon Label"; // leLabel = null !!
base.OnPreInit(e);
}
J'aurai une exception parce que mon label vaut null. Argh ! Problème !
Vous devez être identifié pour poster un commentaire.
| Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
Copyright © 2000-2012 - www.developpez.com