[HttpPost]
フォームが送信されるコントローラーアクションに、パラメーターと同じビューモデルを使用させることができます。
[HttpPost]
public ActionResult SomeAction(Mymodel model)
{
// the model.Title property will contain the selected value here
}
また、Titles
コレクションはHttpPostアクションに送信されません。これがHTMLの仕組みです。<select>
フォームが送信されると、要素の選択された値のみが送信されます。このためTitles
、同じビューを再表示する場合は、プロパティを再設定する必要があります。
例えば:
[HttpPost]
public ActionResult SomeAction(Mymodel model)
{
if (!ModelState.IsValid)
{
// there was a validation error, for example the user didn't select any title
// and the Title property was decorated with the [Required] attribute =>
// repopulate the Titles property and show the view
model.Titles = .... same thing you did in your GET action
return View(model);
}
// at this stage the model is valid => you could use the model.Title
// property to do some processing and redirect
return RedirectToAction("Success");
}