怎么通过表单,给model里面的属性直接赋值呢,不通过jQuery:
1 <div class="editor-field"> 2 是否在职: 3 <select id="selectIsJob"> 4 <option value="-1">-请选择-</option> 5 @{ 6 var isJob = FrameComBLL.Dicts.IsCheck; 7 8 foreach (var item in isJob) 9 { 10 <option value="@item.Key ">@item.Value</option> 11 } 12 } 13 </select> 14 @Html.EditorFor(model => model.uIsJob) 15 </div>
通过ajax交没有问题,但是怎么直接通过表单去提交呢,就是把item.key赋值给uIsJob,用viewBag的话,里面viewBag的参数又该怎么传递呢?
难道这个问题我就需要建立一个字典表去实现(通过viewBag)
又或者说通过ajax请求,但是这样做肯定做显的有点麻烦呀,求解惑
1 [HttpPost] 2 public ActionResult UserReg(user user) 3 { 4 string isjob = Request["selectIsJob"]; 5 if (user != null) 6 { 7 if (FrameComBLL.Validation.isEmail(user.remark1)) 8 { 9 int i = db.users.Where(p => (p.remark1 == "")).Count(); 10 if (i > 0) 11 { 12 return Json("邮箱已经被使用", JsonRequestBehavior.AllowGet); 13 } 14 { 15 user.uId = Guid.NewGuid().ToString().Substring(0, 25); 16 int uid = user.uId.Length; 17 user.uModifyUser = String.Empty; 18 user.uModifyTime = DateTime.Now; 19 user.uAddUser = String.Empty; 20 user.uAddTime = DateTime.Now; 21 user.uModifyTime = DateTime.Now; 22 user.uModifyUser = String.Empty; 23 user.uIsCheck = 0; 24 user.uIsJob = Convert.ToInt32(isjob); 25 db.users.Add(user); 26 db.SaveChanges(); 27 } 28 } 29 else 30 { 31 var script = String.Format("<script>alert('邮箱不合法');location.href='{0}'</script>", Url.Action("index")); 32 return Content(script, "text/html"); 33 } 34 } 35 return View(); 36 }
这是后台代码,如果用Requet好像也是可以,但是我就是想通过表单去提交它,简单点的办法
只要表达式的name属性和model里面的属性值一样就可以,EF生成的表单name,id,等等都一样,提交的时候通过的是name的属性。就这么简单。。。。