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 > )
{
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 > )
{
foreach (string[] stu in stuModel)
{
for (int i = ; i < stu.Length; i++)
{
<span class="Id" href="#">›@stu[]</span>
<span class="Name" hidden>›@stu[]</span>
<span class="Gender" hidden>›@stu[]</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
MVC项目的简单总结的更多相关文章
- 【Spring】搭建最简单的Spring MVC项目
每次需要Spring MVC的web项目测试一些东西时,都苦于手头上没有最简单的Spring MVC的web项目,现写一个. > 版本说明 首先要引入一些包,Spring的IOC.MVC包就不用 ...
- spring mvc项目中导出excel表格简单实现
查阅了一些资料,才整理出spring mvc 项目导出excel表格的实现,其实很是简单,小计一下,方便以后查阅,也希望帮助有需要的朋友. 1.导入所需要依赖(Jar包).我使用的是maven,所以坐 ...
- vs2015制作一个超级简单的MVC项目
使用vs2015制作一个超级简单的MVC项目 本文链接:https://blog.csdn.net/qq_40919762/article/details/100705314 直奔主题一,创建一个 ...
- 简单Spring MVC项目搭建
1.新建Project 开发环境我使用的是IDEA,其实使用什么都是大同小异的,关键是自己用的顺手. 首先,左上角File→New→Project.在Project页面选择Maven,然后勾上图中所示 ...
- 创建简单的MVC项目
一,新建一个空的MVC项目 二,连接数据库,添加一个实体模型Model.edmx
- 采用MiniProfiler监控EF与.NET MVC项目(Entity Framework 延伸系列1)
前言 Entity Framework 延伸系列目录 今天来说说EF与MVC项目的性能检测和监控 首先,先介绍一下今天我们使用的工具吧. MiniProfiler~ 这个东西的介绍如下: MVC Mi ...
- ASP.NET MVC Ajax.ActionLink 简单用法
ASP.NET MVC 项目中,如何使用类似于 iframe 的效果呢?或者说 Ajax 局部刷新,比如下面操作: 我们想要的效果是,点击 About 链接,页面不刷新(地址栏不变),然后下面的内容进 ...
- IntelliJ IDEA上创建maven Spring MVC项目
IntelliJ IDEA上创建Maven Spring MVC项目 各软件版本 利用maven骨架建立一个webapp 建立相应的目录 配置Maven和SpringMVC 配置Maven的pom.x ...
- 【MVC拾遗】MVC的单元测试简单学习总结
关于测试的必要性什么的已经在 重构与测试 里扯过了.倒也没必要说,写的代码多了自然就明白这个东西重要性. 当时说了坐等被推动去学习单元测试来着,然而等着被人推动的结果就是根本就没人来推你.o(∩_∩) ...
随机推荐
- 怎么用一个ppt介绍一个项目
- 【CSS】网页样式记录
一.按钮 p.tiy { display: inline-block; margin-top: 15px; margin-bottom: 10px; vertical-align: middle; t ...
- (原)hisi3531立体声pcm实现播放方式
版权声明:本文为博主原创文章,未经博主允许不得转载(http://www.cnblogs.com/lihaiping/p/5251854.html) 最近在使用hisi3531做一个项目,需要实现本地 ...
- Cisco交换机端口聚合(EtherChannel)
端口聚合,英文简称EtherChannel(以太通道)是由Cisco研发的,应用于交换机之间的多链路捆绑技术.它的基本原理是: 将两个设备间多条物理链路捆绑在一起组成一条逻辑链路,从而达到带宽倍增的目 ...
- 小程序笔记三:幻灯片swiper 和图片自定义高度
滑动组件:scroll-view wxml代码 <view> <scroll-view scroll-x="true" class="tab-h&quo ...
- DataList中动态显示DIV
<%# DataBinder.Eval(Container, "DataItem.ProductName").ToString() == "股票矩阵" ...
- WebGL常用数学公式
1.三角函数 坐标轴采用右手法则,沿Z轴的逆时针方向为正角度,假设原始点为p(x,y,z),a是X轴旋转到点p的角度,r是从原始点到p点的距离.用这两个变量计算出点p的坐标,等式如下: x = rco ...
- css 中的相对定位和绝对定位
1.默认不写position的话,值为static. 2.相对定位:相对于元素自己本身的位置偏移,虽然位置偏移,但元素本身占据的空间并不释放. 3.绝对定位:相对于离它最近的,position不为st ...
- ITIL之“变更管理”
首先要说明的是ITIL的变更是指“上线系统的变更”,而不是指系统建设的变更. ITIL的变更的流程如下: 整个变更管理在实际操作中有几个注意点: 1. 现存的企业中,变更咨询委员会(CAB)可能只有信 ...
- cesium导入3D模型(obj转gltf)
cesium中支持载入3D模型,不过只支持gltf格式.gltf是khronos组织(起草OpenGL标准的那家)定义的一种交换格式,用于互联网或移动设备上展现3d内容,充分支持opengl,webg ...