アクションメソッド
アクションメソッドとは
アクションメソッドとは、クライアントからのリクエストを処理するメソッド
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]はクロスサイトスクリプティングを防ぐためのアノテーション。
これは別記事にて解説を行う。