私は人々がイベントに登録できるウェブサイトに取り組んでいます。登録ページには、データをキャプチャし、MVCコントローラーで検証し、ビュー間でデータを保持してから、プレビューページを表示するフォームがあります。
以下は私がやろうとしていることの簡単な例です。
Person ViewModel
public class Person{
public int TitleId {get; set;}
public SelectList Titles {get; set;}
}
コントローラーの登録
public class RegisterController:Controller
{
[HttpGet]
public ActionResult Register(){
return View(new Person());
}
[HttpPost]
public ActionResult Register(Person person){
if(ModelState.IsValid){
TempData["Person"] = person
RepopulateSelectLists(); //Gets the data for the select list again
return RedirectToAction("Preview");
}
return View();
}
[HttpGet]
public Actionresult Preview(){
Person person = (Person)TempData["Person"];
}
}
プレビュービュー
@Html.DisplayFor(m => m.TitleId); //Will display int, not selected value
SelectListにすべての値があり、前のページで選択した値のキー/ IDがあるとすると、選択したもののテキストだけを再表示するにはどうすればよいですか?