2016-04-05 172 views
1

我在写一个使用ASP.NET MVC的应用程序。我的观点是:/orders/{orderId}。该视图呈现得很好。里面的它虽然,我有一个按钮,看起来像这样一个形式里面:ASP.NET MVC - URL操作路径

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

在我的控制,我有以下几点:

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(
    } 
} 

我的问题是,我该如何使用ASP.NET MVC帮助程序生成我的标志操作的路径?我的表单中的动作只是一个模板,目前无法使用。我如何在剃须刀视图中处理这种情况?

谢谢!

回答

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

我建议使用T4MVC中,你可以这样做:

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

是的,你是对的:) – Dilip

+0

@atika - 有趣的。我以前没有用过t4mvc。当我尝试使用它时,我得到的是生成的类型而不是方法。任何想法为什么会发生? – user70192

+0

T4MVC应该生成类型,所以你不使用魔术字符串,而是强制类型化的代码。 –