アクションメソッド

アクションメソッドとは

アクションメソッドとは、クライアントからのリクエストを処理するメソッド

asp.net MVCでは、Controllerクラス直下のpublicメソッドをアクションメソッドとみなしている。

 

Controllerクラスを作成するとCRUD+Indexメソッドが自動的に生成されており、これらはアクションメソッドである。

例)

// GET: Todoes/Create
public ActionResult Create()
{
return View();
}

 

// POST: Todoes/Create
// 過多ポスティング攻撃を防止するには、バインド先とする特定のプロパティを有効にしてください。
// 詳細については、https://go.microsoft.com/fwlink/?LinkId=317598 を参照してください。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Id,Summary,Detail,Limit,Done")] Todo todo)
{
if (ModelState.IsValid)
{
db.Todoes.Add(todo);
db.SaveChanges();
return RedirectToAction("Index");
}

return View(todo);
}

 

Createのメソッドが2つ生成されていることが分かる。

これはアノテーション([HttpPost]、[ValidateAntiForgeryToken]などメソッド名の上に記載されている属性)によりasp.net MVCで呼び分けられる。

 

POSTリクエスト時の場合、[HttpPost]がついている場合Createメソッドが呼ばれる。それ以外の場合は[HttpPost]がついていないCreateメソッドが呼ばれる。

 

[ValidateAntiForgeryToken]はクロスサイトスクリプティングを防ぐためのアノテーション

これは別記事にて解説を行う。