首页 > 代码库 > 项目前的知识点准备(2)
项目前的知识点准备(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);
//如果为空,直接重定向到index
if (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
来自为知笔记(Wiz)
项目前的知识点准备(2)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。