2017-10-23 3 views
0
Url.Action("CreatePerson", "Person", new { id = 6, name = "rachel", grade="a" }); 

Wenn ich die Parameter in der Aktion zu erhalten, bekomme ich nur den ersten Wert (Wert der id), aber ich weiß nicht, die Werte von name und grade erhalten. Warum?Wie übergibt man einige Parameter in Url.Action?

+0

https://stackoverflow.com/questions/24178320/how-to-send-multiple-parameter-in-url-action –

+0

Post Controller –

+0

public Action Person (int id = 0, string name = "", string grade = "") { return PartialView ("Erfolg"); } – Rachel

Antwort

0

Sie müssen die zusätzlichen Parameter auf dem Controller-Methode definieren, etwa so:

public ActionResult SuccessfulPostData(int id, string name, string grade) 
     { 

      ViewBag.name= name; 
      return View(); 
     } 

In der Ansicht Sie den Wert anzeigen kann:

@Viewbag.name 

auch manchmal müssen Sie explizit Routenparameter definieren . Dies ist in der RouteConfig.cs-Datei gefunden.

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