2016-09-24 3 views
1

Wie Sie wissen, wann wir Details eines Artikels gehen wollen es vonWas ist die besondere Bedeutung von id in MVC

@Html.ActionLink("Details", "Details", new { id=item.Id }) 

http://localhost:xxxx/Item/Details/1

erreicht Was sollen wir dieses „1“ Parameter nennen? Es ist kein Querystring-Parameter, aber was ist das? Wird dieser Parameter von mvc als Querystring-Parameter interpretiert?

Und eine andere Sache ist, wenn ich den Link wie unten beschrieben:

@Html.ActionLink("Edit", "Edit", new { itemIdNo=item.Id }) 

mvc schafft diesen Link als:

http://localhost:xxxx/Item/Details?itemIdNo=1

Wie Sie sehen, sind sie ganz anders. Hat der Parameter "id" eine besondere Bedeutung in MVC?

Wie sollen wir diesen Parameter "1" nennen? Es ist kein Querystring-Parameter, aber was ist das?

Wird dieser Parameter von mvc als Querystring-Parameter interpretiert?

+4

Überprüfen Sie die Route Tabelle – Satpal

+2

Es ist nicht besonders. Es hängt alles von Ihren Routen ab, die Sie eingerichtet haben –

Antwort

4

In Ihrem RouteConfig.cs, als "id" eingestellt:

routes.MapRoute(
       name: "Default", 
       url: "{controller}/{action}/{id}", 
       defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
      ); 

Wenn Sie es ändern möchten, können Sie {id} Parameter als {itemIdNo} ändern. Und auch id Parameter in "Voreinstellungen:" Zeile als itemIdNo.

2

Es ist ein URL-Pfadparameter. Die Namens-ID wird verwendet, um mit einem Parameter auf der Controller-Aktion mit demselben Namen übereinzustimmen. Sie könnten einen beliebigen Namen verwenden, den Sie im zweiten Beispiel haben. Sie können in Route Aktionen angeben, wo die Wert-ID kommen sollte, der Körper, URL usw.