我正在创建一个SchoolManagement
应用程序,我必须在其中创建一个StudentRegistration
表单。在表单页面上,我必须显示也来自数据库的Dropdownlist
。我是asp mvc的新手,在asp.net中很容易,但在MVC中,我不知道如何做到这一点。我正在使用Ado.net
和Razor视图引擎。请有人指导需要哪些步骤。
这是我的模特课
public class StudentModel
{
[Required(ErrorMessage="Student ID is required", AllowEmptyStrings=false)]
public int StudentID { get; set; }
[Required(ErrorMessage = "Student Roll No is required", AllowEmptyStrings = false)]
public int RollNo { get; set; }
[Required(ErrorMessage = "Student Name is required", AllowEmptyStrings = false)]
public string StudentName { get; set; }
[Required(ErrorMessage = "Student Address is required", AllowEmptyStrings = false)]
public string Address { get; set; }
[Required(ErrorMessage = "Student Cell is required", AllowEmptyStrings = false)]
public string Cell { get; set; }
}
答案 0 :(得分:0)
您需要创建操作方法,它将填充您的下拉列表。您需要设置SelectedListItem
列表。
所以,解释你使用实体框架。
你的方法将是这样的。
public ActionResult Register()
{
var model = new RegistrationViewModel()
{
StudentsList = this.context.Students.Select(s => new SelectListItem
{
Text = s.Name,
Value = s.Id.ToString()
},
// some other property to the model
}
return View(model);
}
在视图中:
//SelectedStudent - string property in your model, where will be stored Value from list
@Html.DropDownListFor(model => model.SelectedStudent, Model.StudentsList)
在POST方法中
[HttpPost]
public ActionResult Register(RegistrationViewModel model)
{
var studentId = int.Parse(model.SelectedStudent);
}