实训001--表单提交文件
一、实训目的
通过表单提交文件,学会“上传文件”功能设计。
二、理论学习
HTML辅助方法:2.使用HTML辅助方法输出表单,(1)产生表单元素。
三、实训内容
已知学生管理系统,模型类为Student,其中属性IconPath为头像文件所在路径。
public class Student
{
public int Id { get; set; }
[Display(Name="姓名")]
public string Name { get; set; }
public string SClass { get; set; }
public string IconPath { get; set; }
}
现在要实现对学生对象的头像上传功能,效果界面如下图,请编写相关代码。
提示:
(1)控制器处理代码如下。
[HttpPost]
public ActionResult UploadIcon(HttpPostedFileBase file)
{
if (file == null)
{
return Content("没有文件!", "text/plain");
}
var fileName = Path.Combine(Request.MapPath("~/Upload"), Path.GetFileName(file.FileName));
try
{
file.SaveAs(fileName);
var stu = db.Students.Find(1);
stu.IconPath = "/upload/" + Path.GetFileName(file.FileName);
db.Entry(stu).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("ShowStudent", new { id = 1 });
}
catch
{
return Content("上传异常!", "text/plain");
}
}
四、实训步骤
1.新建mvc4项目,选择基本模板。
2.新建模型类Student、数据上下文类、修改webconfig文件。
3.执行数据库迁移,生成数据库,向Students数据表中添加一条记录,确保Id为1。
4.新建Home控制器,添加Index视图,实现“上传头像”超链接。
5.在Home控制器中,添加UploadIcon动作,包括Get和Post两个动作。
6.为UploadIcon动作添加视图,实现“上传表单”的设计。
7.在Home控制器中,添加ShowStudent动作,添加相应视图,将学生数据显示出来。
8.运行测试,done。
五、视频辅导