MVC自学历程4--后台基本功能

又到周末更新时,这周还是忙忙碌碌的,本以为双休日可以好好休息,不料周五晚上突然受到朋友邀请第二天去看ChinaJoy,而且还要早点进去,看CJ不比世博会轻松,排队走路累死了。 由于CnBlog是技术博客,就不上乱七八糟的照片了,传张清纯的(为不影响页面,大家自己到博客园我相册去看。http://www.cnblogs.com/revolution/gallery/400221.html)

  回到正题,上篇博客提到的问题已经解决(http://www.cnblogs.com/revolution/archive/2012/07/25/2601286.html),感谢回答的博友,我的解决方法看起来并不高明,就是重写Model,把缺的属性补上去。(同时引发一个思考,我原先以为一个Model模型类必须对照数据库表全部字段来建立属性,能少不能多,但是实际开发中,例如查询,列表显示等功能,只要涉及到主外键关系,还是添加下相应的关联属性来的方便,所以即便是建立模型类也不是生成工具简单的生成就可以的)。

  解决方法

 

复制代码
public ActionResult GetMainBoard()//获取主板列表
 { var MBList = from m in db.MainBoard join s in db.Supplier on m.Supplier equals s.ID join x in db.XinPianGroup on m.XinPianGroup equals x.ID select new { Name = m.Name, PingTai = m.PingTai,ImgSrc=m.ImgSrc, Price = m.Price, Atx = m.Atx, SupplierImg = s.ImgSrc, XingPianName = x.Name }; List<MainBoard> Mb = new List<MainBoard>(); foreach(var model in MBList) { Mb.Add(new MainBoard { Name = model.Name, PingTai = model.PingTai,ImgSrc=model.ImgSrc, Price = model.Price, Atx = model.Atx,XingPianName=model.XingPianName }); } return View(Mb); }
复制代码

 

  由于前台View的强类型为@model IEnumerable<DiyPC.Models.MainBoard>所以Linq连接查询后需要转型,我才去Foreach遍历Linq结果集 转成前台Model的类型,这样前台又可以通过 item.属性 来绑定页面,感觉很方便!

    

   这样从复操作,把每种硬件类别的Controller方法,视图搞定后,后台基本功能就搞定了,接下来,做一个delete方法。

   删除方法采用AJAX无刷新删除,删除前弹窗提示(弹窗用的是JBOX,感谢作者@kudy)

    

 

   

  <a class="opt" id="delBtn" title="删除" href="javascript:DeleteById(@item.ID);"><span class="icon-sprite icon-delete"></span></a>

 

  这是删除按钮调取JAVASCRIPT的方法,

  

复制代码
 <script type="text/javascript">
       // 根据ID删除用户
     DeleteById = function (id) { jBox.confirm("此操作不可恢复,确定要删除吗?", "删除用户", function (v, h, f) { if (v == 'ok') { jBox.tip('正在处理...', 'loading'); // 在这ajax处理
 $.ajax({ type: 'post', url: '/List/Delete', data: 'id=' + id, success: function (data) { if (data.result.toString() == "true") { window.setTimeout(function () { jBox.tip('删除成功!', 'success'); $.get("/List/GetUser", "", function (data) { $("#TableMain").html(data); }, "html"); }, 1000); } else { window.setTimeout(function () { jBox.tip('删除失败!', 'false'); $.get("/List/GetUser", "", function (data) { $("#TableMain").html(data); }, "html"); }, 1000); } } }) } return true; }); }; </script>
复制代码

  删除后异步刷新列表 整个页面没有刷新过,体验不错,实际开发是,自己本机测试速度很快,但是发布到虚拟主机后测试,有时有小卡顿。

  最后我把测试网址发给大家,这也是这几天的成果,屏蔽了部分功能。http://kiss96803.s2.jutuo.net/ 

  还有就是楼主发现自己水平不够,打算闭关修炼后再继续这个业余时间的项目,所以下篇博文发布之时后台基本所有工能都要完成,开始前台的开发。

 

  最后祝中国奥运健儿在伦敦展示自我风采,多多摘金!

 

 

 
分类:  MVC自学项目

MVC自学项目

 
MVC自学历程4--后台基本功能
摘要: 又到周末更新时,这周还是忙忙碌碌的,本以为双休日可以好好休息,不料周五晚上突然受到朋友邀请第二天去看ChinaJoy,而且还要早点进去,看CJ不比世博会轻松,排队走路累死了。 由于CnBlog是技术博客,就不上乱七八糟的照片了,传张清纯的(为不影响页面,大家自己到博客园我相册去看。http://www.cnblogs.com/revolution/gallery/400221.html) 回到正题,上篇博客提到的问题已经解决(http://www.cnblogs.com/revolution/archive/2012/07/25/2601286.html),感谢回答的博友,我的解决方法看... 阅读全文
posted @  2012-07-31 21:20 Revolution@Ye 阅读(570) |  评论 (3)  编辑
MVC自学历程3--项目开始
摘要: 周末又来了,每次周末的时候总结总结上周,在做做自己感兴趣的事情也是很惬意的一件事。 这个星期我很痛苦。 原因1:一个星期都在写文档,公司的成功案例。使我感觉小公司程序员必须万能,星期一做出来的领导直接说了句看都不能看,后来陆续改了2天才好。 原因2:域名备案各种失败,扫描件要用黑笔签名,按手印之类的原因。 原因3:一个月前给一客户做的导入数据库的小工具出现BUG,改的我头大。 好在最后都解决了,真是累人忙碌的一周。 好了,扯够了回到项目上。前两期的环境准备和数据库设计告一段落,这期开始项目建设,建设前我打算系统介绍下本项目。 前台: 用户可以选择配件打造属于自己的DI... 阅读全文
posted @  2012-07-25 14:46 Revolution@Ye 阅读(1466) |  评论 (16)  编辑
MVC自学历程2--数据库设计
摘要: 首先感谢下上篇博文http://www.cnblogs.com/revolution/archive/2012/07/13/2582050.html回帖的人,我博客之前从没有人回复,你们是第一批! 今天是周六打算静下心来想想这个项目的数据库,窗外雷雨不断,阴沉沉的。 昨晚想了下,这个模拟装机的功能可能并不是很多人都会用到,但是这是自己一直想做的所以不能放弃,继上篇博文后,我学了些简单的教程,也做好了基于AJAX Jquery登录功能,这篇博文主要是数据库设计。 新建数据库PcDiyBBS 为了应对MVC开发,建表时考虑到面向对象,所以就分的比较细。 说明: 所有硬件表都有价... 阅读全文
posted @  2012-07-14 20:04 Revolution@Ye 阅读(1213) |  评论 (5)  编辑
MVC自学历程1--Now Start
摘要: 前段时间看了园子里某毕业生的博文(请原谅我记性不好,把你ID忘了),主要是说他作为一个ASP.NET程序员毕业一年所掌握的技术与成长。看了感触蛮多,我也毕业8个月了,回顾自己的技术,发现简直不值一提啊,和那位毕业生比起来也差远了,起码我知道现在我一个人连一套CSS都写不出来,切片什么的更不要说了,我另外一个毕业生朋友也是毕业一年,做JAVA的,这两天问起他的工资,30K左右,又把我雷了个外焦里嫩,我顿时如梦初醒,人家学习学的累死累活的时候,我正玩的累死累活,他下班自学时,我在打暗黑3,他熬夜自学时,我在看欧洲杯,仅仅是一年时间,我们之间的距离却让我无地自容,不论工资,单论技术与勤奋,我就已.. 阅读全文

你可能感兴趣的:(MVC自学历程4--后台基本功能)