2016-04-10 2 views
-1

Ich mag für mein löschen und bearbeiten und Detail meines ProduktsWie erstellt man eine verschachtelte Aktion in mvc?

localhost Schlag URL verwenden: 3891/Administrator/ShowProduct/Löschen/id AdminId = 12

localhost: 3891/Administrator/ShowProduct/Edit/id AdminId = 12

localhost: 3891/Administrator/ShowProduct/detail/id AdminId = 12

ich habe versucht, Schlag-Code für RouteConfig:

routes.MapRoute(
      name: "Administrtor", 
      url: "Administrator/ShowProduct/{action}/{id}", 
      defaults: new { controller = "Administrator", action = "ShowProduct", id = UrlParameter.Optional } 

      ); 

Mein Controller ist Administrator und meine Aktion ist ShowProduct

Wie ich eine andere Aktion Subset von ShowProduct erstellen können?

Antwort

0

I Gebiet in asp.net-mvc wie dieses ersten Rechtsklick auf Projektnamen verwendet und gehen hinzufügen und Bereich auswählen und dann auf der rechten on Area-Ordner und Umgebung hinzufügen, dann Name des Bereiches in meinem Fall ein: Administrator

jedem Bereich haben Model, view, Controller

für Controller in meinem Fall: direkt am Controller Ordner klicken und diesen Namen ShowProduct

geben und jetzt kann ich eine Aktion für sie wie bearbeiten schreiben, löschen und Detail

1

Sie können den Controller mit dem Namen Administrator mit den Aktionen Löschen, Bearbeiten und Details erstellen.

Leitungswegcode

routes.MapRoute(
     name: "Administrtor", 
     url: "Administrator/ShowProduct/{action}/{id}", 
     defaults: new { controller = "Administrator", action = "Delete", id = UrlParameter.Optional } 

     ); 

-Controller-Code

public class AdministratorController : Controller 
{ 
    public ActionResult Delete(int adminId) 
    { 
     return View(); 
    } 

    public ActionResult Details(int adminid) 
    { 
     return View(); 
    } 
    public ActionResult Edit(int adminid) 
    { 
     return View(); 
    } 
} 

generiert URLs

http://localhost:64922/Administrator/showproduct/Edit/1 http://localhost:64922/Administrator/showproduct/Details/1 http://localhost:64922/Administrator/showproduct/Delete/1

Wenn Sie adminId in URL anzeigen möchten (? AdminId =), dann ändern Sie die adminId in Id in Route.

+0

Aber ShowProduct ist eine Aktion, die eine Liste meines Produkts enthält und jedes Element dieser Liste enthält Bearbeiten und Löschen ... –

+0

Im Allgemeinen haben wir in Echtzeit-Webanwendungen ein Repository, um die Produktliste zu verwalten. Produkte können sich entweder in der Datenbank befinden oder von einem Dienst verwaltet werden. Es liegt nicht in der Verantwortung des Controllers, die Produktliste zu verwalten. Stattdessen definiert der Controller Aktionsmethoden, um Vorgänge (z. B. Hinzufügen, Bearbeiten, Löschen, Details usw.) über die Produktliste durchzuführen. Daher müssen Sie Produktliste außerhalb des Controllers in einer Repository-Klasse namens ProductRepository definieren. –

Verwandte Themen