2016-04-05 13 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はタイプを生成する必要があるため、マジック文字列は使用しませんが、強く型付けされたコードをどこでも使用します。 –