项目前的知识点准备(2)

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

哈哈,增,删,改,查,明细。这个是程序员经常挂在嘴边的哦。只是页面的复杂程度不一样。

查:

  1. #region 查
  2. /// <summary>
  3. /// 查
  4. /// </summary>
  5. /// <returns></returns>
  6. public ActionResult Index()
  7. {
  8. var models = from m in db.Provinces select m;
  9. return View(models.ToList());
  10. }
  11. #endregion

这里面用了 Linq的语法,同样问度娘。Linq是.net 独有的,写linq会比普通sql难不少,和sql的学习一样,见多识广,每天都要练习,这个属于“功力”类的知识,

不要想着速成。

增:

  1. #region 增
  2. /// <summary>
  3. /// 增
  4. /// </summary>
  5. /// <returns></returns>
  6. public ActionResult Create()
  7. {
  8. return View();
  9. }
  10. /// <summary>
  11. /// 接收创建页面的数据并存储
  12. /// </summary>
  13. /// <param name="model"></param>
  14. /// <returns></returns>
  15. [HttpPost]
  16. public ActionResult Create(Province model)
  17. {
  18. //
  19. if (ModelState.IsValid)
  20. {
  21. db.Provinces.Add(model);//添加
  22. db.SaveChanges();//提交至数据库
  23. return RedirectToAction("Index");
  24. }
  25. return View(model);
  26. }
  27. #endregion

ModelState 是对实体所有属性判断验证的,通过验证 就添加并提交到数据库。然后重定向到Index页。[HttpPost]是注解。

删:

  1. #region 删
  2. /// <summary>
  3. /// 删
  4. /// </summary>
  5. /// <param name="id"></param>
  6. /// <returns></returns>
  7. public ActionResult Delete(int id)
  8. {
  9. var model = db.Provinces.Find(id);
  10. if (model == null)
  11. {
  12. return RedirectToAction("Index");
  13. }
  14. return View(model);
  15. }
  16. /// <summary>
  17. /// 删除,签名一致方法的处理
  18. /// </summary>
  19. /// <param name="id"></param>
  20. /// <param name="collection"></param>
  21. /// <returns></returns>
  22. [HttpPost]
  23. public ActionResult Delete(int id, FormCollection collection)
  24. {
  25. var model = db.Provinces.Find(id);
  26. if (model != null)
  27. {
  28. db.Provinces.Remove(model);
  29. db.SaveChanges();
  30. }
  31. return RedirectToAction("Index");
  32. }
  33. #endregion

改:

  1. #region 改
  2. /// <summary>
  3. /// 改
  4. /// </summary>
  5. /// <param name="id"></param>
  6. /// <returns></returns>
  7. public ActionResult Edit(int id)
  8. {
  9. var model = db.Provinces.Find(id);
  10. //如果为空,直接重定向到index
  11. if (model == null) return RedirectToAction("Index");
  12. return View(model);
  13. }
  14. /// <summary>
  15. /// 接收修改页面的数据并存储
  16. /// </summary>
  17. /// <param name="model"></param>
  18. /// <returns></returns>
  19. [HttpPost]
  20. public ActionResult Edit(Province model)
  21. {
  22. if (ModelState.IsValid)
  23. {
  24. //把存储状态修改成“Modified”
  25. db.Entry(model).State = System.Data.EntityState.Modified;
  26. db.SaveChanges();
  27. return RedirectToAction("Index");
  28. }
  29. return View(model);
  30. }
  31. #endregion

修改这里的实现方法,请注意。先是从后台查询一下,然后再修改,没人会批评的做法,通用的做法。有的项目里面的做法是不经过后台,而是直接把所有的值传过去。

明细:

  1. #region 明细
  2. /// <summary>
  3. /// 明细
  4. /// </summary>
  5. /// <param name="id"></param>
  6. /// <returns></returns>
  7. public ActionResult Details(int id)
  8. {
  9. var model = db.Provinces.Find(id);
  10. if (model == null)
  11. {
  12. return RedirectToAction("Index");
  13. }
  14. return View(model);
  15. }
  16. #endregion

好的,mvc和传统的tuo

来自为知笔记(Wiz)

时间: 2024-09-30 22:55:27

项目前的知识点准备(2)的相关文章

命令行选项解析相关知识点

最近读源码的时候碰到命令行解析相关的知识点,比较模糊.摘取出来做个记录 1.最基本的main函数头 main(int argc,char *argv[ ]) 如果只输入程序名xxx,则argc=1,argv[0]指向输入的程序路径及名称./xxx;如果输入xxx para_1(程序名加一个参数),则argc=2,argv[0] 指向输入的程序路径及名称,argv[0]指向参数para_1字符串.以此类推,也就是char  *argv[]:argv 是一个指针数组,其元素个数是argc,存放的是指

高项--项目成本管理知识点

高项--项目质量管理知识点

高项--项目风险管理知识点

项目前的知识点准备(1)

一 web.config <add name="ERPEntities" connectionString="Data Source=.;Initial Catalog=TOMERP;User ID=sa;Password=aswere2012" providerName="System.Data.SqlClient"/> 上面这段代码,只要做过BS的码字员都知道,记忆有难度,我目前没发现几个人是敲出来的.说白了就是"单关&

项目前的知识点准备(3)

这篇我们主要是生成视图,就是页面. 查询: 点击添加即可,下面看下这个页面长什么样: 可以看到,页面是比较简单,有一个创建的按钮,当然你可以汉化一下页面,这个是渣滓一样的知识了,所以就不介绍了,连页面都生成好了,修改猜带蒙也能找到.值得一提的是:访问页面的方法,是控制器+方法名. 新增: 修改: 这里,我又想说几句话,后面的1 是主键ID 来着,自所以可以用/1,是路由的设定 mvc3 和 mvc4 路由的设定地方还不一样,看下MVC3的:Global.asax public static vo

项目前的知识点准备(4)

编辑Shared文件夹下的母版页 _Layout.cshtml. 然后将Content.rar里的文件添加到Content文件夹中. 大部分都是HTML,CSS, JS 这就没啥好说的,值得一提的代码如下 5 行 :@Url.Content("~/Scripts/jquery-1.7.1.min.js") // 获取路径,不会写的copy 205 行 :@RenderBody() // 子页面在此 <!DOCTYPE HTML PUBLIC "-//W3C//DTD H

题库类产品如何计算题目的难度值

一.引言 题库类产品(如猿题库.易题库等)的一个标配功能是预测用户未来要进行的某项考试得分,我们称之为目标考试预测分.以猿题库高考为例,即将参加高考的学生通过在题库上做大量练习,练习的效果会以学生的高考预测分呈现出来,这是学生最关注的指标,也是整个题库产品中最关键的数据.为了让“预测分”数据更加准确,我们引入了能力评估模型,通过测算用户在所有知识点上的能力水平,并将其量化成为一个数值.能力评估模型中有两个重要参数:题目难度值.用户答题的正确率.简化为:A=f(an,d)其中A表示能力值,an表示

手机安全卫士——主界面的开发

activity_home.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent