.net Mvc Crud Example

6 min read Jun 04, 2024
.net Mvc Crud Example

Créer une application CRUD simple avec ASP.NET MVC

Cet article vous guidera à travers la création d'une application CRUD (Créer, Lire, Mettre à jour, Supprimer) basique avec ASP.NET MVC. Nous allons utiliser un modèle simple de "Produit" pour illustrer le processus.

Configuration du projet

  1. Créer un nouveau projet ASP.NET MVC: Ouvrez Visual Studio et créez un nouveau projet. Sélectionnez "Application Web ASP.NET (.NET Framework)" et choisissez le modèle "Application Web MVC". Nommez votre projet et cliquez sur "OK".
  2. Installer les packages NuGet: Vous aurez besoin des packages Entity Framework et Entity Framework Core pour gérer vos données. Vous pouvez les installer via le Gestionnaire de packages NuGet.

Créer le modèle

  1. Créer une classe "Produit": Dans votre projet, créez un nouveau dossier nommé "Models". Créez ensuite une classe nommée "Produit.cs" à l'intérieur de ce dossier. La classe "Produit" contiendra les propriétés qui représentent les données de votre produit:
    public class Produit
    {
        public int Id { get; set; }
        public string Nom { get; set; }
        public string Description { get; set; }
        public decimal Prix { get; set; }
    }
    

Créer le contexte de données

  1. Créer une classe de contexte de données: Créez une nouvelle classe nommée "ProduitContext.cs" dans le dossier "Models". Cette classe héritera de DbContext et contiendra un ensemble de produits:
    public class ProduitContext : DbContext
    {
        public DbSet Produits { get; set; }
    
        public ProduitContext(DbContextOptions options) : base(options)
        {
        }
    }
    

Créer les contrôleurs

  1. Créer un contrôleur pour les produits: Créez un nouveau contrôleur nommé "ProduitsController.cs" dans le dossier "Controllers". Ce contrôleur contiendra les actions CRUD pour les produits:
    public class ProduitsController : Controller
    {
        private readonly ProduitContext _context;
    
        public ProduitsController(ProduitContext context)
        {
            _context = context;
        }
    
        // Affiche la liste des produits
        public IActionResult Index()
        {
            return View(_context.Produits.ToList());
        }
    
        // Affiche le formulaire pour créer un nouveau produit
        public IActionResult Create()
        {
            return View();
        }
    
        // Enregistre le nouveau produit dans la base de données
        [HttpPost]
        [ValidateAntiForgeryToken]
        public IActionResult Create([Bind("Nom,Description,Prix")] Produit produit)
        {
            if (ModelState.IsValid)
            {
                _context.Add(produit);
                _context.SaveChanges();
                return RedirectToAction(nameof(Index));
            }
            return View(produit);
        }
    
        // Affiche les détails d'un produit
        public IActionResult Details(int? id)
        {
            if (id == null)
            {
                return NotFound();
            }
    
            var produit = _context.Produits.Find(id);
            if (produit == null)
            {
                return NotFound();
            }
    
            return View(produit);
        }
    
        // Affiche le formulaire pour modifier un produit
        public IActionResult Edit(int? id)
        {
            if (id == null)
            {
                return NotFound();
            }
    
            var produit = _context.Produits.Find(id);
            if (produit == null)
            {
                return NotFound();
            }
            return View(produit);
        }
    
        // Met à jour le produit dans la base de données
        [HttpPost]
        [ValidateAntiForgeryToken]
        public IActionResult Edit(int id, [Bind("Id,Nom,Description,Prix")] Produit produit)
        {
            if (id != produit.Id)
            {
                return NotFound();
            }
    
            if (ModelState.IsValid)
            {
                _context.Update(produit);
                _context.SaveChanges();
                return RedirectToAction(nameof(Index));
            }
            return View(produit);
        }
    
        // Supprime un produit de la base de données
        public IActionResult Delete(int? id)
        {
            if (id == null)
            {
                return NotFound();
            }
    
            var produit = _context.Produits.Find(id);
            if (produit == null)
            {
                return NotFound();
            }
    
            return View(produit);
        }
    
        // Confirme la suppression du produit
        [HttpPost, ActionName("Delete")]
        [ValidateAntiForgeryToken]
        public IActionResult DeleteConfirmed(int id)
        {
            var produit = _context.Produits.Find(id);
            _context.Produits.Remove(produit);
            _context.SaveChanges();
            return RedirectToAction(nameof(Index));
        }
    }
    

Créer les vues

  1. Créer les vues pour chaque action du contrôleur: Créez des vues pour chaque action du contrôleur "ProduitsController". Vous pouvez utiliser les vues par défaut générées par Visual Studio et les personnaliser en fonction de vos besoins.
  2. Ajouter les formulaires et les liens: Dans les vues, ajoutez les formulaires nécessaires pour créer, modifier et supprimer des produits. Ajoutez également des liens pour afficher les détails d'un produit et pour retourner à la liste des produits.

Démarrer l'application

  1. Exécuter l'application: Démarrez l'application web. Vous pouvez maintenant tester les fonctionnalités CRUD de votre application.

Conclusion

Cet article vous a montré comment créer une application CRUD simple avec ASP.NET MVC. Ce n'est qu'un exemple de base, et vous pouvez étendre cette application en fonction de vos besoins. N'hésitez pas à explorer les différentes options et fonctionnalités offertes par ASP.NET MVC pour créer des applications web plus complexes.

Featured Posts