2016-04-05 12 views
1

Ich schreibe eine App mit ASP.NET MVC. Ich bin in einer Ansicht, die sich befindet: /orders/{orderId}. Diese Ansicht macht es gut. Innerhalb von ihm aber, ich einen Knopf innerhalb eines Formulars, das wie folgt aussieht:ASP.NET MVC - URL Aktionspfad

<form action="/orders/{orderId}/flag" method="post"> 
    <button type="submit" class="btn">Flag</button> 
</form> 

In meinem Controller, ich habe folgenden:

public class OrdersController : Controller 
{ 
    public ActionResult Details(string id) 
    { 
    var model = Orders.FindById(id); 
    return View(model); 
    } 

    public ActionResult Flag(string id) 
    { 
    var model = Orders.FindById(id); 
    model.Flag(); 
    return RedirectToAction(
    } 
} 

Meine Frage ist, wie verwende ich die ASP.NET MVC Helfer um den Pfad zu meiner Flag Aktion zu generieren? Die Aktion in meiner Form ist im Moment nur eine Vorlage, die nicht funktionieren wird. Wie gehe ich dieses Szenario in meiner Rasiereransicht an?

Danke!

Antwort

1
@Url.Action("Flag", "Orders", new { id = [orderid here] }) 

Ich empfehle, mit T4MVC, die Sie tun können:

@Url.Action(MVC.Orders.Flag([orderid here]) 
+0

ja du hast recht :) – Dilip

+0

@atika - Interessant. Ich habe t4mvc vorher nicht benutzt. wenn ich versuche, es zu benutzen, erhalte ich Typen anstelle von Methoden. Irgendwelche Ideen, warum das passieren würde? – user70192

+0

T4MVC sollte Typen generieren, also verwenden Sie keine magischen Zeichenfolgen, sondern stark typisierten Code überall. –