MVC初学笔记

 

     初学MVC4,在网上看到的这个教程很好http://www.cnblogs.com/powertoolsteam/archive/2012/11/01/2749906.html,一直在一步步的跟着做,但是到了第七篇数据迁移(http://www.cnblogs.com/powertoolsteam/archive/2013/02/26/2933105.html),执行程序包管理器控制台命令的时候,我的VS2013出现了这个问题:未能加载文件或程序集“Microsoft.VisualStudio.Shell, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。找了好久也没解决这个问题,CodeFirst在我的理解中大概就是先编写代码,然后根据代码生成数据库吧,这就导致了一个问题,如果到后来我需要修改数据库中的某一个字段,就需要修改程序中的一大片代码了。第七篇就是说明这个问题的。但无奈我的配置环境有问题,没办法跟着教程做了。于是我想如果一开始就把Model中的字段以及验证全做好,就可以跳开这篇教程跟着后面的做了。

       于是我把之前做的删掉,重新创建Model,Controller和View。

       首先创建Model,里面包含Model字段与相应验证,还有数据上下文类(需引用 System.Data.Entity;),这个类负责在数据库中获取,存储,更新,处理 Movie 类的实例。

     然后 在Controller文件夹中添加Movies控制器

生成项目(此时已生成View了,可以在Views文件夹中看到Movies的5个视图),运行,在地址栏中URL后追加输入/Movies/Create进入新建界面,会看到验证已经做好,甚至日期文本框都做好了,高大上的赶脚啊。以前都是使用JS插件做日期文本框的...

PS:如果看效果时不想每次运行程序都这么在地址栏中输入URL,想直接进入这个创建界面,那就在App_Start文件夹中的RouteConfig.cs文件上改一下路由路径,这样一运行项目就进入到创建界面了:defaults: new { controller = "Movies", action = "Create", id = UrlParameter.Optional }

 

好的,现在就需要做一个根据用户输入来查询的功能了。按照电影名称和上映日期来查询吧,在MoviesController中添加如下方法,有电影名称和上映时间两个组合查询条件

        /// <summary>
        /// 根据电影名称和上映时间查询
        /// </summary>
        /// <param name="searchStr"></param>
        /// <param name="date"></param>
        /// <returns></returns>
        public ActionResult SearchList(string searchStr,DateTime? date)
        {
            var movies = from m in db.Movies select m;
            if (!string.IsNullOrEmpty(searchStr))
            {
                movies = movies.Where(s => s.Title.Contains(searchStr));
            }
            if (!string.IsNullOrEmpty(date.ToString()))
            {
                movies = movies.Where(s => s.ReleaseDate  == date);
            }
            return View(movies);
        }


 

添加完以后再方法体内右键,添加视图:

生成一下,运行,在地址栏中追加/Movies/SearchList?searchStr=of&date=2014/8/1试一下查询结果,是对的就说明方法没错。接下来就给界面添加用于输入查询条件的文本框了。按照教程,在对应的视图中添加代码

完成后,运行,进入搜索界面,效果:

恩,OK了。

大致步骤就是:先创建Model,然后根据Model创建对应的Controller,然后在Controller中创建方法,再根据方法创建对应的View。

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值