我正在开发一个允许人们注册活动的网站。在注册页面上,我有一个捕获数据的表单,在 MVC 控制器中进行验证,在视图之间保留它,然后应该显示一个预览页面。
下面是我正在尝试做的一个简化示例。
人视图模型
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,我如何仅重新显示他们选择的文本?