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 :

AngularJS sous Visual Studio


Sujet :

ASP.NET MVC

  1. #1
    Membre confirmé
    AngularJS sous Visual Studio
    Bonjour tout le monde,

    Dans le forum "Développement web avec .Net", j'ai ouvert un fil sous le même nom que celui-ci, pour savoir comment créer un projet pour utiliser AngularJS.

    Ça n'a inspiré personne. Est-ce qu'ici je suis susceptible d'avoir plus de chance ?
    (Gloops, Gluups ... c'est un peu pareil)

  2. #2
    Modérateur

    Tu n'as pas de reponse car tu ne donnes pas assez d'element pour qu'on puisse t'aider ! Merci de relire les regles du forum (point IV-H).

    Quelle version de Visual Studio ?
    Quelle version du .NET Framework ?
    Quel type de site Web (MVC, Razor pages, Web Forms...) ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre confirmé
    Bonjour,
    J'utilise Visual Studio Community 2017, en disant ça, bien sûr, je restreins le champ des gens qui peuvent me répondre
    avec SQL Express 2014 ou MySql, sur Windows 10.
    Cette version de Visual Studio permet, projet par projet, de choisir la version de .Net qu'on veut cibler -ce sera donc à la personne qui répond de préciser, si c'est important.
    Le but est de pouvoir présenter les données d'une base. En effet j'ai des projets écrits dans le bloc-notes, avec les fichiers AngularJS (service, contrôleur ...), mais ça ça marche pour une liste fixe, ce projet permet d'ajouter des enregistrements mais ne permet pas de les enregistrer -à moins d'écrire un fichier xml enregistrement par enregistrement en Javascript du côté client, comme respect des règles du web ça craint un peu.
    Il m'a semblé que ça risquait d'être plus facile avec MVC, peut-être que je me trompe ?
    Ça permet d'avoir rapidement une table avec des données dedans, mais il ne faut pas louper les étapes pour les afficher dans une page AngularJS.
    Et si je loupe une étape, je ne sais pas trop comment savoir laquelle.

    Si quelqu'un se sent d'attaque pour m'expliquer ça sous WebForm, ça me va aussi.

    Autrement dans le fil d'origine je pars sur des exemples précis, que je cherche à reproduire mais j'achoppe sur la phase de création de projet.
    https://www.developpez.net/forums/d1...visual-studio/
    (Gloops, Gluups ... c'est un peu pareil)

  4. #4
    Modérateur

    Merci pour ces precisions Il manque juste une reponse a une de mes questions :
    Citation Envoyé par DotNetMatt Voir le message
    Quelle version du .NET Framework ?
    C'est important, car .NET Core embarque un template de projet pour AngularJS.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre confirmé
    J'ai complété mon message juste après l'avoir envoyé :
    "Cette version de Visual Studio permet, projet par projet, de choisir la version de .Net qu'on veut cibler -ce sera donc à la personne qui répond de préciser, si c'est important."

    J'ai essayé le modèle de projet Angular.JS
    Déjà je viens juste de me rendre compte qu'il fallait ignorer l'erreur concernant Node.js, et générer une seconde fois, et ça à chaque génération.

    Toutefois, lorsque j'essaie de créer un contrôleur, cette erreur concernant Node.js refait surface, et bloque la création du contrôleur.

    Sous la racine j'ai une classe avec ça :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    using Microsoft.EntityFrameworkCore;
    using Microsoft.EntityFrameworkCore.Metadata;
     
    namespace ModCoreAng01
    {
    	public class Person
    	{
    		public int id { get; set; }
    		public string FirstName { get; set; }
    		public string LastName { get; set; }
    		public string Mail { get; set; }
    	}
     
    	public class PersonContext : DbContext
    	{
    		List<Person> Persons { get; set; }
    	}
    }


    Je suis en progrès, lors de la création d'un contrôleur, j'ai bien les classes Person et PersonContext proposées à mettre dans les listes déroulantes.

    Le nom proposé pour le contrôleur est PeopleController, ce qui n'est pas délirant pour des personnes. Peut-être bien que j'ai su où il va chercher ça, mais j'ai oublié.

    Lorsque je clique sur Ajouter, de nouveau l'erreur concernant Node.js (que j'ai pourtant ajouté avec NuGet)

    Ah, oui, pas oublier : générer une deuxième fois. No database has been provided for this DbContext.

    Nous voilà en progrès, je commence à avoir une erreur qui me parle. Avec EntityFramework CodeFirst sous MVC ce n'était pas un problème, que la base n'existe pas ?

    Ah il y a un topo avec le message. Bon, il me reste à exploiter ça :
    (Gloops, Gluups ... c'est un peu pareil)

  6. #6
    Membre confirmé
    Bonjour,
    Il me semble que pour traiter cette erreur je dois ajouter ceci sous la classe Program.cs :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	public class MyContext : DbContext
    	{
     
    		protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    			=> optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=EFTest;Trusted_Connection=True;");
    	}


    et aussi modifier ainsi la classe de contexte :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	public class PersonContext : MyContext
    	{
    		protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    			=> optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=EFTest;Trusted_Connection=True;");
     
    		List<Person> Persons { get; set; }
    	}


    Toutefois je n'ai pas encore fait tout ce qu'il y a à faire, car sur la page de résultat dans le navigateur, je vois ceci :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    System.Threading.Tasks.Task<TResult>.GetResultCore(bool waitCompletionNotification)
    InvalidOperationException: The NPM script 'start' exited without indicating that the Angular CLI was listening for requests. The error output was:
     
    Microsoft.AspNetCore.SpaServices.AngularCli.AngularCliMiddleware.StartAngularCliServerAsync(string sourcePath, string npmScriptName, ILogger logger)


    Faut-il que je mette tout l'écran, ou l'extrait que j'ai mis est-il suffisamment significatif ?
    (Gloops, Gluups ... c'est un peu pareil)

  7. #7
    Membre confirmé
    Apparemment le message le plus significatif est
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    InvalidOperationException: The NPM script 'start' exited without indicating that the Angular CLI was listening for requests. The error output was: 'ng' n'est pas reconnu en tant que commande interne


    Il semblerait que je n'aie pas chargé Angular JS proprement.
    Quelqu'un s'est sorti de ça en installant Node.js, mais là il est installé, d'ailleurs je l'ai réinstallé et j'ai redémarré.

    Est-ce que je dois ajouter quelque chose dans les fichiers de démarrage ?
    (Gloops, Gluups ... c'est un peu pareil)

  8. #8
    Membre confirmé
    (Gloops, Gluups ... c'est un peu pareil)

###raw>template_hook.ano_emploi###