IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET MVC Discussion :

Les nouveautés d'ASP.NET MVC 2


Sujet :

ASP.NET MVC

  1. #1
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 254
    Points
    28 254
    Par défaut Les nouveautés d'ASP.NET MVC 2
    Les nouveautés d'ASP.NET MVC 2 fait partie d'une suite d'articles écrits par l'équipe .NET de Developpez.com, et est destinée à vous faire découvrir les nouveautés en ce qui concerne Visual Studio 2010, le Framework .NET 4, les langages C# et VB.NET, ainsi que les technologies associées comme WPF 4, ASP.NET 4, WF 4, WCF 4, Entity Framework 4 et autres nouveautés autour de la plateforme .NET.

    Dans cet article, nous allons voir les nouveautés du framework ASP.NET MVC, dont la version 2 est sortie le 12 Mars 2010, et qui sera donc livré avec Visual Studio 2010.
    Par ici la lecture

  2. #2
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    Est ce qu'il y a un moyen d'utiliser des ressources pour le DisplayName ?

    Mettre du texte sur les objets business je trouve pas ça terrible ...

  3. #3
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Ce n'est pas possible nativement, mais il est possible d'étendre l'attribut de la façon décrite ici :

    http://adamyan.blogspot.com/2010/02/...-complete.html

  4. #4
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    Merci pour ce lien c'est très intéressant

    J'avais déjà vu ce soucis sur les RC ... C'est quand même dommage de faire du code custom alors que pour les messages de validation c'est géré nativement ... Des fois je me demande ce qu'il se passe dans la tête des ingénieurs MS

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Points : 359
    Points
    359
    Par défaut
    Bonjour à tous,

    Merci pour cette explication très intéressante. Mais j'ai un petit problème sur les Areas et surtout pour les sortir dans un projet tier.

    Je suis sous Visual Studio 2010.

    J'ai mon projet principale (de type MVC2 vide) : "PrincipalSite" , puis je crée un nouveau Site qui sera mon Area : "Admin". J'arrive à faire le lien vers tous les controllers, quand mon j'appel

    /Admin/Index => j'arrive sur mon controller de mon projet Admin, mais quand j'appel la vue ( return View(), il ne prend pas la vue dans ce site "Admin" mais dans le site "PrincipalSite".

    En résumé impossible de créer des vue exploitable dans mon projet "Admin".

    Es ce qu'il y a des configurations particulière ?
    Es ce que je dois faire un MapRoute ? Et lequel ?
    Es ce que je dois faire quelque chose dans le Web.config ? dans le fichier de configuration de projet ?

    Merci d'avance de votre réponse,

    Cordialement,

    Morgan

  6. #6
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Salut,

    je n'ai pas beaucoup utilisé les Areas, mais as-tu bien ajouté AreaRegistration.RegisterAllAreas();

    sinon, je ne me rappelle pas de configuration particulière pour les Areas

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Points : 359
    Points
    359
    Par défaut
    Bonjour,

    Merci pour ta réponse, oui j'ai bien les AreaRegistration.

    En faite quand je fait tout dans un seul projet cela fonctionne (bien que des fois non pourtant les routes sont bien présentent), mais quand je sors les Areas dans des projets différents exemple :
    • Solution MusicStore
    • Projet => MusicStore (MVC2 Project)
    • Dossier de mon projet etc. (Controller, Views, Models, etc.)
    • Global.asax (et .cs)
    • Projet => AddonStoreManager
    • Dossier de ce projet etc. (Controller, Views, Models, etc.)
    • Global.asax(et .cs)


    Dans ce cas la le Global.asax.cs du projet AddonStoreManager je le fais hérité de AreaRegistration pour le rendre comme une Area (et donc se faire appeler pendant l'appel de la méthode de mon site principale.

    Donc ici, le mapping et fais jusqu'aux controller présent dans mon second projet, mais je n'arrive pas à utiliser les views auxquelles normalement je fais référence.

    Ce qu'il se passe pendant l'exécution de mon code :
    1. Accès à l'url
    2. Appel de mon Controller dans le projet AddonStoreManager : AddonStoreManager (projet) => Controller (dossier) => StoreManagerController.cs
    3. Appel d'un view (exemple : Index.aspx) qui se trouve dans : MusicStore (projet) => Views (dossier) => StoreManager (dossier) => Index.aspx


    Et moi ce que je voudrais c'est appeler le une vue dans le chemin suivant :
    AddonStoreManager (projet) => Views (dossier) => StoreManager (dossier) => Index.aspx

    Le but étant de créer une multitude de module indépendant en terme de styles, etc. et de pouvoir les remettre dans différent projet sans modification préalable.

    Ai-je bien exprimé ma problématique ?

    Je vous remercie d'avance des réponses,

    Morgan

  8. #8
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Points : 359
    Points
    359
    Par défaut
    Voici la réponse à la question :

    http://www.lostechies.com/blogs/hex/...as-part-3.aspx

    Merci de m'avoir aidé

  9. #9
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Salut,

    Je ne sais pas si cela apparaît quelque part, mais il y a un truc qui m'a posé quelques difficultés pour comprendre le principe du MVC selon Microsoft: ces projets reposent sur des conventions de nommage et de structure de fichiers et dossiers.

    Sauf erreur, MVC selon Microsoft repose sur la réflexion et cela ne me semble pas tellement évoqué dans la doc. Pourtant, à mon avis, cela devrait être souligné pour bien comprendre la relation entre une vue et son contrôleur.

    En effet, si on cherche les références d'un contrôleur dans une solution, on ne trouve rien. Comment se fait le lien? Visual Studio occulte cette mise en relation grâce aux assistants (un peu comme lorsque qu'on ajoute un GridView). Du coup, on applique la méthode sans forcement comprendre la mécanique sous-jacente.

    Quand je lis ceci
    Les contrôleurs MVC ont pour rôle de répondre à une requête d'un navigateur sur un site MVC. Toute les url sont mappés à un contrôleur particulier. Par exemple imaginez que vous tapiez cette url dans votre barre d'adresse :
    http://localhost/Product/Index/3
    Dans ce cas un contrôleur nommé ProductController est appelé.
    J'ai du mal à comprendre pourquoi. Après, ce fut finalement plus clair en lisant cela: http://stackoverflow.com/questions/3...in-asp-net-mvc

    Est-ce que cela pourrait être précisé?

    Idem pour les Areas: http://philippe.developpez.com/artic...-net-mvc-2/#L1

    Merci d'avance.

    Immo

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Février 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut alors c'est quoi la solution?
    Citation Envoyé par morgand Voir le message
    Voici la réponse à la question :

    http://www.lostechies.com/blogs/hex/...as-part-3.aspx

    Merci de m'avoir aidé
    Si je comprends bien il faut utiliser une lib MvcContrib.dll?

    Je crois qu'il existe une solution plus simple dans MVC3 non?

  11. #11
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations forums :
    Inscription : Juillet 2013
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Bonjour
    je travaille sur une application MVC. J'ai deux tables "employe" et "authentification" et j'ai une liste d'enregistrement qui affiche tous les enregistrements de ma table employe.

    employe(id,nom,prenom,tel,statut,mot de passe,identifiant)

    J'aimerai que quand je crée un nouvel employé et que quand employe.statut="admin" ,le mot de passe et l'identifiant que j'ai remplie dans ma table employe s'ajoutent aussi à ma table authentification. En gros, j'aimerai que si le nouvel employé à un statut d'administrateur, en plus de s'ajouter à la table employe, son identifiant et mot de passe s'ajoutent aussi à la table authentification.

    voici le code de mon action create:
    public ActionResult Create([Bind(Exclude = "Id_E")] employe employeToCreate, Authentification adminToCreate)
    {
    // Validation logic
    //ValidateContact(employeToCreate);
    if (!ModelState.IsValid)
    return View();

    // Database logic

    try
    {

    dcContact = new ContactDataContext();
    dcContact.employes.InsertOnSubmit(employeToCreate);

    dcContact.SubmitChanges();
    if (employeToCreate.status == "Admin")
    {

    dcContact.Authentifications.InsertOnSubmit(adminToCreate);
    dcContact.SubmitChanges();
    //return RedirectToAction("Index");

    }
    //_entities.AddToemploye(employeToCreate);
    //_entities.SaveChanges();
    return RedirectToAction("Index");
    }
    catch
    {
    return View();
    }
    }

Discussions similaires

  1. Les nouveautés d'ASP.NET MVC 3
    Par Nicolas Esprit dans le forum ASP.NET MVC
    Réponses: 0
    Dernier message: 28/02/2011, 10h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo