项目前的知识点准备(2)
在Controllers文件夹下添加 一个控制器 HomeController.cs。我这里之所以说的简单,并没有讲一些理念性的东西,是为了尽快让大家落实到代码上来。而且这就码字工的一个动作吧,没什么可说的。至于不知道添加的,我相信肯学的人一定能找到路子,比如你没有控制器这个概念,看到我上面一句话,你就会问度娘,c#如何添加控制器。![]()

哈哈,增,删,改,查,明细。这个是程序员经常挂在嘴边的哦。只是页面的复杂程度不一样。
查:
#region 查/// <summary>/// 查/// </summary>/// <returns></returns>public ActionResult Index(){var models = from m in db.Provinces select m;return View(models.ToList());}#endregion
这里面用了 Linq的语法,同样问度娘。Linq是.net 独有的,写linq会比普通sql难不少,和sql的学习一样,见多识广,每天都要练习,这个属于“功力”类的知识,
不要想着速成。
增:
#region 增/// <summary>/// 增/// </summary>/// <returns></returns>public ActionResult Create(){return View();}/// <summary>/// 接收创建页面的数据并存储/// </summary>/// <param name="model"></param>/// <returns></returns>[HttpPost]public ActionResult Create(Province model){//if (ModelState.IsValid){db.Provinces.Add(model);//添加db.SaveChanges();//提交至数据库return RedirectToAction("Index");}return View(model);}#endregion
ModelState 是对实体所有属性判断验证的,通过验证 就添加并提交到数据库。然后重定向到Index页。[HttpPost]是注解。
删:
#region 删/// <summary>/// 删/// </summary>/// <param name="id"></param>/// <returns></returns>public ActionResult Delete(int id){var model = db.Provinces.Find(id);if (model == null){return RedirectToAction("Index");}return View(model);}/// <summary>/// 删除,签名一致方法的处理/// </summary>/// <param name="id"></param>/// <param name="collection"></param>/// <returns></returns>[HttpPost]public ActionResult Delete(int id, FormCollection collection){var model = db.Provinces.Find(id);if (model != null){db.Provinces.Remove(model);db.SaveChanges();}return RedirectToAction("Index");}#endregion
改:
#region 改/// <summary>/// 改/// </summary>/// <param name="id"></param>/// <returns></returns>public ActionResult Edit(int id){var model = db.Provinces.Find(id);//如果为空,直接重定向到indexif (model == null) return RedirectToAction("Index");return View(model);}/// <summary>/// 接收修改页面的数据并存储/// </summary>/// <param name="model"></param>/// <returns></returns>[HttpPost]public ActionResult Edit(Province model){if (ModelState.IsValid){//把存储状态修改成“Modified”db.Entry(model).State = System.Data.EntityState.Modified;db.SaveChanges();return RedirectToAction("Index");}return View(model);}#endregion
修改这里的实现方法,请注意。先是从后台查询一下,然后再修改,没人会批评的做法,通用的做法。有的项目里面的做法是不经过后台,而是直接把所有的值传过去。
明细:
#region 明细/// <summary>/// 明细/// </summary>/// <param name="id"></param>/// <returns></returns>public ActionResult Details(int id){var model = db.Provinces.Find(id);if (model == null){return RedirectToAction("Index");}return View(model);}#endregion
好的,mvc和传统的tuo
浙公网安备 33010602011771号