asp.net-mvc – 将下拉列表中的SelectedItem绑定到MVC 4中的模型
发布时间:2020-12-16 06:25:13 所属栏目:asp.Net 来源:网络整理
导读:我对MVC很新,所以请耐心等待,但我似乎无法在MVC 4的回发过程中将SelectList中的值绑定到所选对象的实例. 假设我必须创建一名教师作为学校的成员.我有一个ViewModel类定义如下: public class RegisterTeacherModel{ [Required] [Display(Name = "User name")
我对MVC很新,所以请耐心等待,但我似乎无法在MVC 4的回发过程中将SelectList中的值绑定到所选对象的实例.
假设我必须创建一名教师作为学校的成员.我有一个ViewModel类定义如下: public class RegisterTeacherModel { [Required] [Display(Name = "User name")] public string UserName { get; set; } [Required] [DataType(DataType.EmailAddress)] [Display(Name = "Email address")] public string Email { get; set; } [Required] [Display(Name = "School")] public School SelectedSchool { get; set; } [ScaffoldColumn(false)] public Guid UserId { get; set; } public SelectList PossibleSchools { get; private set; } public RegisterTeacherModel(IRepository<School> schoolRepo) { PossibleSchools = new SelectList(schoolRepo,"Id","Name"); } } 我的观点: @using (Html.BeginForm()) { @Html.ValidationSummary(true) <fieldset> <legend>RegisterTeacherModel</legend> <div class="editor-label"> @Html.LabelFor(model => model.UserName) </div> <div class="editor-label"> @Html.LabelFor(model => model.Email) </div> <div class="editor-field"> @Html.EditorFor(model => model.Email) @Html.ValidationMessageFor(model => model.Email) </div> <div class="editor-label"> @Html.LabelFor(model => model.SelectedSchool) </div> <div class="editor-field"> @Html.DropDownListFor(model => model.SelectedSchool,Model.PossibleSchools) </div> <p> <input type="submit" value="Create" /> </p> </fieldset> } 最后,我的Controller方法: [HttpPost,ActionName("Create")] public ActionResult CreateTeacher(RegisterTeacherModel teacherModel) { if (ModelState.IsValid) { try { ... } } } 但是当我在Controller中的Create方法中收到RegisterTeacherModel对象时,SelectedSchool始终为null.我必须错过模型绑定器在回发时重新创建对象引用的方式.谁能指出我正确的方向? 解决方法
我想你在第二篇文章中提到了它:尝试将初始代码指向Model.SelectedSchool.< IdProperty>
<div class="editor-field"> @Html.DropDownListFor(model => model.SelectedSchool.**<IdProperty>**,Model.PossibleSchools) </div> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – MVC 3 Razor EditorTemplate / DisplayTe
- 如何在asp.net中检测新的Microsoft浏览器“Edge”
- asp.net-mvc – 使用其他bool字段进行MVC远程验证
- asp.net-mvc – 如何在asp.net mvc中持久化查询字符串值?
- .net – SqlDataSource与ObjectDataSource
- asp.net-mvc – 将asp.net mvc beta部署到iis 6,导致404
- asp.net-mvc – 是否有任何基于ASP.NET MVC订阅的入门工具包
- asp.net-mvc – 使用默认控制器的ASP.NET MVC路由
- asp.net-mvc – ASP.net MVC中的流畅验证 – 数据库验证
- asp.net – VirtualPathUtility.ToAbsolute()VS. Url.Conte