- 在Add页面中添加数据后需要接收数据,此时我们可以再添加一个Add1方法,在Add1方法中实现接收数据,并将数据绑定到数据库中,如:
public ActionResult Add1() { string uid = Request.Form["userid"]; string uname = Request.Form["username"]; int uage = Convert.ToInt32(Request.Form["userage"]); string uphoto = Request.Form["userphoto"]; S _s = new S(); _s.S_ = uid; _s.SNAME = uname; _s.AGE = uage; _s.Photo = uphoto; db.S.Add(_s); db.SaveChanges(); return RedirectToAction("Index"); }
但我们也可以再用相同的视图,在名字相同的方法中接收数据,此时需要添加HttpPost属性(只能接收和处理post方法传递过来的数据),形参与原先Add方法也不能相同。在这里,使用了数据绑定,形参可以直接从表单中接收值:
[HttpPost] //添加httppost特性的方法只能接受和处理post方法传递过来的数据 //形参与表单中的名字一一对应 //数据绑定,可直接从表单中接收值 public ActionResult Add(string userid,string username,int userage,HttpPostedFileBase myfile) { //实现文件的上传 if(myfile!=null) { myfile.SaveAs(Server.MapPath("~/img/" + myfile.FileName)); } //添加的数据保存到数据库中 S _s = new S(); _s.S_ = userid; _s.SNAME = username; _s.AGE = userage; _s.Photo = myfile.FileName; db.S.Add(_s); db.SaveChanges(); return RedirectToAction("Index"); }
-
在delete方法中进行进行删除验证时,以下代码不能起作用,原因是第二条代码比第一条代码的优先级高
Response.Write("<script>alert('确定删除吗?')</script>"); return Redirect("Index");
可写成以下代码:
return Content("<script>alert('确定删除吗?');window.location.href='/home/index';</script>");
-
enctype = "multipart/form-data" 是指在发送到服务器之前不对字符编码,在使用包含文件上传控件的表单时,必须使用该值
程序实现结果: