MVC项目的简单总结

不能说是庆幸吧,正赶上公司要开发一个小小的MVC项目,于是这样任务就只有我自己承担,在这个项目中我才彻底感觉到自己之前有关MVC知识的无知,以为接触了皮毛就感觉能做项目,只要有心动脑思考就能完成一个完整的小项目,其实并不是这样的,还是踏踏实实的实战才是最有效的吧,之前也说要好好学习那,但是从开始北漂似乎就没有安静下来学习的吧,总是感觉有无数的事情想要去做,却总是忙不完,但是去想一下,其实并没有什么一定要做的事情要做,不是因为不想学习,是需要一颗稳定的心吧,这样机会就来啦,入职的工作已经办完,一切都稳定了吧,以后每天可能重复着同样的节律,上班,敲代码,下班。。。就是这样的生活节奏让我有了跨越三个月重新拿起我的学习来填满我的生活。好啦,想必好多友友都是大神啦,但是我还是有我需要谨记的东东那,还是总结一些我要记忆的吧。

一.controller向view传参

<1>使用ViewDate传参

                   ViewData["Name"] = Request.Form["Name"];
                   @Html.Encode(ViewData["Name"])

其实上面的ViewDate就是获取拿到的值设置一个键,然后在view中重新拿到这个键即可,这样是最简单的一种吧,其实在这里说ViewDate传值的问题,就想起来我在遇到一个情况,是之前不太清楚而且不敢去尝试的问题吧,就是controller中的其中一个Action获取到一个值,但是想当前controller其他的Action中用应该怎么办?我在项目中就简单的创建了session,虽然这不是什么好方法,但是感觉用起来还是蛮方便的哦,嘿嘿,如下所示:

                   model.Name = Request.Form["Name"];
                   Session["Name"] = model.Name;

这样是我们拿到值然后创建一个session,接下来我们就去拿session的值即可。

另外想说的是我们的ViewDate不仅仅是传一个string类型的值到View上面,它甚至可以传一个List集合到View中,如下所示:

                   List<Student> stuModel = stuBll.GetAllStudentById(id);
                   ViewData["stuModel"] = stuModel;

上面是我们在controller中创建传值,接下来简单的总结下在view中怎么拿值:

                   @{List<Student> stuModel = ViewData["stuModel"] as List<Student>;}
                   @if (stuModel.Count > 0)
                   {
                     foreach (var item in stuModel)
                     {
                        <span class="stuId">@item.Name</span>
                     }
                   }

就这样我们就可以在view中拿到一个我们想遍历的集合啦,其实我们为什么不返回model实体类那,这就是为什么要使用ViewDate返回集合的原因吧,在一个View中只能使用一个model,所以在不得已时间我们只能使用其他的方法啦,嘿嘿。
                 另外简单的总结一个List集合中如果存放一个数组我们应该如何遍历?

                   @{List<string[]> stuModel = ViewData["stuModel"] as List<string[]>;}
                   @if (stuModel.Count > 0)
                    {
                      foreach (string[] stu in stuModel)
                      {
                         for (int i = 0; i < stu.Length; i++)
                         {
                           <span class="Id" href="#">&rsaquo;@stu[1]</span>
                           <span class="Name" hidden>&rsaquo;@stu[3]</span>
                           <span class="Gender" hidden>&rsaquo;@stu[4]</span>
                         }
                       }
                    }

上面总结List中的数组遍历主要是因为前几天去接触工作流的项目啦,一直没用到这个的原因吧,嘿嘿,还真是容易忘记,在这里记得遍历时间加上@啦。

二.controller中返回model应该怎么引用怎么使用

只学习不练习就是一个大坑,其实没有练习就是什么也没学习到啦,直到我开始做项目我才知道我竟然引用model不知道啦,那时间很是意外啊。

首先我们在返回model时间,在controller中需要返回model,然后在view中引用并遍历数据,controller中的示例即如下所示:

                 public ActionResult Index()
                 {
                   List<Student> stuModel = adBll.GetAllstuModel(id);
                   return View(models);
                 }

简单的总结下view中我们应该怎么写的啦。

                 @using Demo.Model;
                 @model List<Student>

                  foreach (var item in Model)
                  {
                     <td>@Html.DisplayFor(modelItem => item.Name)</td>
                  }

好啦,今天就暂时总结到这里啦,嘿嘿,要过端午节啦,亲们都好好玩哈,祝亲们端午节快乐,一见粽情哦,0.0

时间: 2024-08-28 10:59:36

MVC项目的简单总结的相关文章

【Spring】搭建最简单的Spring MVC项目

每次需要Spring MVC的web项目测试一些东西时,都苦于手头上没有最简单的Spring MVC的web项目,现写一个. > 版本说明 首先要引入一些包,Spring的IOC.MVC包就不用说了.还有Jackson的包,因为默认情况下Controller的方法如要返回Json,用的是此框架. <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>

cocos2dx之lua项目开发中MVC框架的简单应用

**************************************************************************** 时间:2015-03-31 作者:Sharing_Li 转载注明出处:http://blog.csdn.net/sharing_li/article/details/44658317 **************************************************************************** 最近的游

采用MiniProfiler监控EF与.NET MVC项目(Entity Framework 延伸系列1)

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 前言 Entity Framework 延伸系列目录 今天来说说EF与MVC项目的性能检测和监控 首先,先介绍一下今天我们使用的工具吧. MiniProfiler~ 这个东西的介绍如下: MVC MiniProfiler是Stack Overf

【MVC拾遗】MVC的单元测试简单学习总结

关于测试的必要性什么的已经在 重构与测试 里扯过了.倒也没必要说,写的代码多了自然就明白这个东西重要性. 当时说了坐等被推动去学习单元测试来着,然而等着被人推动的结果就是根本就没人来推你.o(∩_∩)o 所以还是自己主动来学,主动来总结了. 可测试性设计基础理论知识 可测试性设计(Design for Testability, DFT)是一种集成电路技术,它将一些特殊结构在设计阶段植入电路,以便设计完成后进行测试. 后来这种玩法被应用到了软件之中.它关注的是在正确的.错误的.丢失的和不完整的输入

第12章 MVC项目综述

一段废话:看懂.把代码敲一遍是不能把知识真正的学会的,学会一个知识:1.总结知识特性,2.举一反三运用 ---------------------------------------------------------- 注:在部署服务器时,应将配置文件中<compilation debug="false" targetframwork="4.0"> .debug必须为"false" -------------------------

使用TT模板+mvc+wcf实现简单查询

伴随着春姑娘调皮的脚步,小编接手的档案管理项目也渐渐步入正轨,从开始的需求分析,到使用Axure画原型图,再到使用powerdesigner设计实体,生成数据库,一直到昨天刚刚通了一条线,这一路走来,小编懂得了很多,无路学习还是和团队小伙伴的交流合作,有时候,总是会因为大家意见不统一,搞的大家吹胡子瞪眼,但有时也会因为某件事情圆满成功而欢欣鼓舞,小组中最开心的事儿莫过于有人开会迟到买吃的了,哈哈,暴露了小编的本质,开头说了这么多,接下来,小编就跟分享一下,如果利用TT模板+mvc+wcf实现简单

基于MVC+EasyUI的Web开发框架经验总结(15)--在MVC项目中使用RDLC报表

RDLC是一个不错的报表,有着比较不错的设计模式和展现效果,在我的Winform开发里面,使用RDLC也是一个比较方便操作,如可以参考文章<DevExpress的XtraReport和微软RDLC报表的使用和对比>或者<会员管理系统的设计和开发(2)-- RDLC报表的设计及动态加载>进行了解.但是基于MVC方式,如何构建和展现RDLC报表呢?本文主要介绍如何在基于MVC4+EasyUI的Web开发框架上进行RDLC的集成和使用. 1.RDLC绑定数据源 RDLC的报表设计,是使用

Spring MVC +MyBatis +MySQL 简单的登录查询 Demo 解决了mybatis异常

忙活了大半天,饭也没顾得上吃,哎许久不动手,一动手就出事,下面请看今天的重头戏,额吃个饭回来再发了! 1.整体结构 2.准备工作 数据库: --Mysql 5.6 创建数据库 wolf CREATE DATABASE wolf; 创建用户表 user create table user( id int  AUTO_INCREMENT  primary key, name varchar(25) not null, pwd varchar(20) not null, create_time dat

使用Areas分离ASP.NET MVC项目

为什么需要分离? 我们知道MVC项目各部分职责比较清晰,相比较ASP.NET Webform而言,MVC项目的业务逻辑和页面展现较好地分离开来,这样的做法有许多优点,比如可测试,易扩展等等.但是在实际的开发中,随着项目规模的不断扩大,Controller控制器也随之不断增多.如果在Controllers文件夹下面有超过两位数controller,即便采用良好的命名规范,或者用子文件夹的形式区分不同功能的控制器,还是会影响项目的可阅读性和可维护性.因此,在一些场景下,如果能把与某功能相关的文件分离