不能说是庆幸吧,正赶上公司要开发一个小小的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="#">&rsaquo;@stu[]</span>
<span class="Name" hidden>&rsaquo;@stu[]</span>
<span class="Gender" hidden>&rsaquo;@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项目的简单总结的更多相关文章

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

    每次需要Spring MVC的web项目测试一些东西时,都苦于手头上没有最简单的Spring MVC的web项目,现写一个. > 版本说明 首先要引入一些包,Spring的IOC.MVC包就不用 ...

  2. spring mvc项目中导出excel表格简单实现

    查阅了一些资料,才整理出spring mvc 项目导出excel表格的实现,其实很是简单,小计一下,方便以后查阅,也希望帮助有需要的朋友. 1.导入所需要依赖(Jar包).我使用的是maven,所以坐 ...

  3. vs2015制作一个超级简单的MVC项目

    使用vs2015制作一个超级简单的MVC项目   本文链接:https://blog.csdn.net/qq_40919762/article/details/100705314 直奔主题一,创建一个 ...

  4. 简单Spring MVC项目搭建

    1.新建Project 开发环境我使用的是IDEA,其实使用什么都是大同小异的,关键是自己用的顺手. 首先,左上角File→New→Project.在Project页面选择Maven,然后勾上图中所示 ...

  5. 创建简单的MVC项目

    一,新建一个空的MVC项目 二,连接数据库,添加一个实体模型Model.edmx

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

    前言 Entity Framework 延伸系列目录 今天来说说EF与MVC项目的性能检测和监控 首先,先介绍一下今天我们使用的工具吧. MiniProfiler~ 这个东西的介绍如下: MVC Mi ...

  7. ASP.NET MVC Ajax.ActionLink 简单用法

    ASP.NET MVC 项目中,如何使用类似于 iframe 的效果呢?或者说 Ajax 局部刷新,比如下面操作: 我们想要的效果是,点击 About 链接,页面不刷新(地址栏不变),然后下面的内容进 ...

  8. IntelliJ IDEA上创建maven Spring MVC项目

    IntelliJ IDEA上创建Maven Spring MVC项目 各软件版本 利用maven骨架建立一个webapp 建立相应的目录 配置Maven和SpringMVC 配置Maven的pom.x ...

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

    关于测试的必要性什么的已经在 重构与测试 里扯过了.倒也没必要说,写的代码多了自然就明白这个东西重要性. 当时说了坐等被推动去学习单元测试来着,然而等着被人推动的结果就是根本就没人来推你.o(∩_∩) ...

随机推荐

  1. 数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。

    题目描述 数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出. 输入描述: 先输入键值对的个数然后输入成对的index和value值 ...

  2. 五、excel末尾补0和开头补0

    1.末尾补0 假设数据在A列,则在B1输入以下公式 如果长度不足10,在后面加0,否则等于A1 (1)=IF(LEN(A1<17),LEFT(A1&"0000000000&qu ...

  3. Python之从numpy.array保存图片

    1.用scipy import scipy scipy.misc.imsave('test.jpg', img) 2.用PIL from PIL import Image im = Image.fro ...

  4. 用python读取stata文件及写入and注意事项

    读取: 由于stata没有专门模块,是从pandas里面调用,官方文档少之又少,故去查看源代码 #!/usr/bin/env python# -*- coding:utf-8 -*- from pan ...

  5. easy-ui 使用总结

    1.datagrid 2次加载问题: 解决方案:<table id="DataGrid" class="easyui-datagrid"> 改为 & ...

  6. selenium+java+chrome环境搭建

    我只能说因为版本冲突,简直太折腾了,而搜了无数个博友的帖子才找到正确条案,就不能好好的写篇文章吗? 最近真的是太闲太闲了,平时没事总得搞点技术,不然心里感觉好空虚, 最近看上了selenium,所以试 ...

  7. JsonCpp 判断 value 中是否有某个KEY

    JsonCpp如何判断是否有某个KEY,使用json[“key”]和isXXX的函数即可. 如果json中没有key键,则会创建一个空成员或者返回一个空成员. bool isNull() const; ...

  8. SQL Server2005配置同步复制

    因为实际需要,需要对两台SQL Server服务器配置同步复制.记录一下配置过程. 配置环境 两台服务器: 发布服务器,以下简称PS. 订阅服务器,以下简称SS. 两台服务器都是Windows Ser ...

  9. Java数组填充和初始化

    Java中,如何填充(一次初始化)数组? 示例 此示例使用Java Util类的Array.fill(arrayname,value)方法和Array.fill(arrayname,starting ...

  10. UITableView 顶部能够放大的图片

    UITableView 顶部能够放大的图片 现在有挺多的应用在 UITableView 顶部加入图片,通过拖拽 UITableView 来实现图片的放大. 对比一下腾讯出品的两款App QQ:可展示更 ...