Controller将Model数据传给View层,View层应该如何处理?
首先,我们在Model层中添加一个Person类。
namespace MVCTest.Models
{
public class Person
{
public string IdCard { get; set; }
public string Name { get; set; }
public string Sex { get; set; }
public int Age { get; set; }
}
}
在Controller层的HomeController控制器添加对Model层的引用:using MVCTest.Models;
首先,在Action中,通过View(类实例名),可以将模型的实例传递到对应的视图中,如下面代码:
public ActionResult Index()
{
List<Person> persons = new List<Person>
{
new Person{IdCard="001",Name="张三",Age=21,Sex="男"},
new Person{IdCard="002",Name="李四",Age=22,Sex="男"},
new Person{IdCard="003",Name="王五",Age=23,Sex="男"},
new Person{IdCard="004",Name="刘六",Age=24,Sex="男"},
};
return View(persons);}
这里我们向View层返回一个Person类的集合,那么在View层中应该如何来处理返回的数据呢?在View中,我们需要知道返回来的数据类型是什么,这就需要使用到@model关键字了。
在View中,需要添加:@model+ 返回数据的类型。在本例中,需要添加的是:@model IEnumerable<MVCTest.Models.Person>,通过上面的语句我们知道了返回数据的类型,接着,我们可以通过Model属性处理返回来的值(在:@model 中,你关联的返回类型是什么,Model属性的类型就是什么),如下面代码:
<ul>
<li style="list-style-type:none;font-weight:bold">编号-- 姓名</li>
@foreach(Person person in Model)
{
<li> @person.IdCard -- @Html.ActionLink(person.Name,"Detaile",new {id=person.IdCard})</li>
}
</ul>由于需要使用到Person类,所以还需要添加其所在命名空间的引用:@using MVCTest.Models
完整的View层代码如下:
@model IEnumerable<MVCTest.Models.Person>
@using MVCTest.Models;@{
ViewBag.Title = "Index";
}<h2>人员信息表</h2>
<ul>
<li style="list-style-type:none;font-weight:bold">编号-- 姓名</li>
@foreach(Person person in Model)
{
<li> @person.IdCard -- @person.Name</li>
}
</ul>至此,我们已经了解了一个Model对象如何从Controller传到View,而View是如何处理返回的数据的。现在的问题是:我们可以将一个Model对象从View传给Controller么?可以的话应该怎么操作?而在网络传输的时候,需要对传回来的数据进行规范性和合格性的验证,这些验证时在哪里完成的?又是如何完成的?这些问题将在下一篇文章进行解答。
Controller将Model数据传给View层,View层应该如何处理?的更多相关文章
- View Controller Programming Guide for iOS---(四)---Creating Custom Content View Controllers
Creating Custom Content View Controllers 创建自定义内容视图控制器 Custom content view controllers are the heart ...
- Java Web中的mapper,service,controller,model
Java Web中的mapper,service,controller,model作用分别是:java web中mapper是对象持久化映射层,一般会继承ibatis或者mybatisservive是 ...
- IE8下导入EXCEL数据传到客户端以附件下载
IE8下导入EXCEL数据传到客户端以附件下载方式出现,而不显示数据,解决方法:以text/html格式返回. HttpResponseMessage message = new HttpRespon ...
- 将Controller抛出的异常转到特定View
<!-- 将Controller抛出的异常转到特定View --> <bean class="org.springframework.web.servlet.handler ...
- 后端把Long类型的数据传给前端,前端可能会出现精度丢失的情况,以及解决方案
后端把Long类型的数据传给前端,前端可能会出现精度丢失的情况.例如:201511200001725439这样一个Long类型的整数,传给前端后会变成201511200001725440. 解决方法: ...
- Go语言之高级篇beego框架之controller调用model
一.controller调用model 开发规范,就该把对数据库的操作写在model文件夹中. 示例: views/main.go package main import ( _ "web/ ...
- 怎样把vector和string数据传给旧的C API
通常情况下.旧的C API使用数组合char*指针来进行数据交换而不是vector或string对象. 这种API还将存在非常长的一段时间,假设我们想有效地使用STL.我们就必须与它们和平共处. ...
- struts2中,Action通过什么方式获得用户从页面输入的数据,又是通过什么方式把其自身的数据传给视图的?
struts2中,Action通过什么方式获得用户从页面输入的数据,又是通过什么方式把其自身的数据传给视图的? 解答: 1)可以直接通过与表单元素相同名称的数据成员(需要存在符合命名规范set和get ...
- 《条目十六》如何将vector和string的数据传给遗留的API
<条目十六>如何将vector和string的数据传给遗留的API 优秀的代码是可以延续的,所以并非所有的代码都是重构的,而且有时候重构会对整个系统影响较大,投入巨大,得不偿失.然而,也不 ...
随机推荐
- 九、DAG hierarchy
DAG 节点有两种,Transformation/shape. shape节点是transformation的子节点. transformation节点包括position, rotation, sc ...
- host DNS 访问规则
昨天站点一直出现302循环重定向问题,捣鼓了半天才解决,原来是hosts和dns配置问题. 注:当你的站点出现循环重定向时,首先应该关注的hosts以及dns配置,确保无误. 下面记录下相关知识点: ...
- shell字符串判空
主要用到两个命令 -n -z if [ -n "$PID" ]; then echo "PID is not empty" fi if[ -z "$ ...
- js 分享到按钮
基础的思路,可以在此基础加强 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...
- Ubuntu14.04通过pyenv配置多python
参考链接: https://github.com/yyuu/pyenv-virtualenv https://github.com/yyuu/pyenv http://seisman.info/pyt ...
- Egret 摇一摇功能
一 什么是重力感应 二 什么是陀螺仪 三 Egret中的摇一摇是利用什么原理实现的 四 摇一摇代码 一 什么是重力感应 二 什么是陀螺仪 三 Egret中的摇一摇是利用什么原理实现的 大概是利用手机 ...
- SQL SERVER 批量插入记录
--create function insertData(@count as int,@tsn as bigint,@id as int) --as --begin SET IDENTITY_INSE ...
- VC++ 在两个程序中 传递字符串等常量值的方法:使用了 WM_COPYDATA 消息的
消息作用: 在进程间共享数据(内部通过创建内存映射文件) 消息介绍:需要用到的数据结构/类型:typedef struct tagCOPYDATASTRUCT { ULONG_PTR dw ...
- js常用正则表达式2
字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界. -或- 对 ...
- Java NIO教程 MappedByteBuffer
之前跟大家说过,要讲MappedByteBuffer,现在我来履行承诺了. 首先从大体上讲一下MappedByteBuffer究竟是什么.从继承结构上来讲,MappedByteBuffer继承自Byt ...