Fork me on GitHub
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自学项目

 
摘要: 又到周末更新时,这周还是忙忙碌碌的,本以为双休日可以好好休息,不料周五晚上突然受到朋友邀请第二天去看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) 编辑
摘要: 周末又来了,每次周末的时候总结总结上周,在做做自己感兴趣的事情也是很惬意的一件事。 这个星期我很痛苦。 原因1:一个星期都在写文档,公司的成功案例。使我感觉小公司程序员必须万能,星期一做出来的领导直接说了句看都不能看,后来陆续改了2天才好。 原因2:域名备案各种失败,扫描件要用黑笔签名,按手印之类的原因。 原因3:一个月前给一客户做的导入数据库的小工具出现BUG,改的我头大。 好在最后都解决了,真是累人忙碌的一周。 好了,扯够了回到项目上。前两期的环境准备和数据库设计告一段落,这期开始项目建设,建设前我打算系统介绍下本项目。 前台: 用户可以选择配件打造属于自己的DI...阅读全文
posted @ 2012-07-25 14:46 Revolution@Ye 阅读(1466) | 评论 (16) 编辑
摘要: 首先感谢下上篇博文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) 编辑
摘要: 前段时间看了园子里某毕业生的博文(请原谅我记性不好,把你ID忘了),主要是说他作为一个ASP.NET程序员毕业一年所掌握的技术与成长。看了感触蛮多,我也毕业8个月了,回顾自己的技术,发现简直不值一提啊,和那位毕业生比起来也差远了,起码我知道现在我一个人连一套CSS都写不出来,切片什么的更不要说了,我另外一个毕业生朋友也是毕业一年,做JAVA的,这两天问起他的工资,30K左右,又把我雷了个外焦里嫩,我顿时如梦初醒,人家学习学的累死累活的时候,我正玩的累死累活,他下班自学时,我在打暗黑3,他熬夜自学时,我在看欧洲杯,仅仅是一年时间,我们之间的距离却让我无地自容,不论工资,单论技术与勤奋,我就已..阅读全文
posted on 2012-08-01 09:15  HackerVirus  阅读(207)  评论(0编辑  收藏  举报