私は同じルートを持っているがHTTPメソッドでのみ異なる2つのメソッドをコントローラに持っていたいと思います。具体的には、私のルートは同じルートで2つの方法(GETとPOST)が可能ですか?
routes.MapRoute(
name: "DataRoute",
url: "Sample/{user}/{id}/",
defaults: new { controller = "Sample", action = "--not sure--", user = "", id = "" }
);
のように見えると私のような私のコントローラ内の2つの方法がある場合:
[HttpGet]
public void ViewData(string user, string id)
[HttpPost]
public void SetData(string user, string id)
望ましい行動は、私がSample/a/b
を取得し、私が投稿する場合SetData()
を呼び出す場合ViewData()
を呼び出すことですがSample/a/b
、同じURL。
私はちょうど2つの別々の経路を作ることができますが、設計上の理由から、GET
とPOST
によって区別される1つの経路を持つことを望みます。新しいルートを作成せずにルートまたはコントローラのいずれかを設定する方法はありますか?
短い答えはノーです。しかし、あなたはURLを介して投稿することはできません。あなたのやろうとしていることは不明です。 –
属性ルーティングでは、異なる方法で同じルートを設定できる必要があります。 – Nkosi