内容1:

1.大多数情况下,会有两个关于Model的文件。

一个称他为Entity Model,他里面的字段一般是与数据库直接交互的,也就是说,Entity里面每一个字段赋予的属性都是对应着数据库来的。

还有一个称之为View Model,这个呢,他是间接与数据库交互的,比如:我们数据库有个字段是某人的出生年月,但是我的View里面想显示的是某人的年龄,因此,我的View Model里面必须要建立一个年龄字段并赋予其属性,而具体由数据库里面的出生日期转换成年龄的函数在其他位置出现。

过程:

1.首先,Entity是必须的,此外需要创建一个View Model,并编好对应的字段。

2.字段转换

重写一下:

3.View实现可视化

重写后的view:

扩展:TagHelpers的使用

即在View中引入asp-:

内容2:View Model的输入 Post:

1.创建Creat方法并赋予其属性:

在View中,对用的方法对应着具体的Get和Post:

2.如下:model调用Post

3.以上可完成数据输入的工作,但存在两个Bug。

1)是否可以确保输入的数据可以保存下来。

2)刷新后出现重复存储。

解决方案1:在配置文件里修改注入。

解决方案2:

如图粉红框框,刷新后跳转至Detail,未重定项,重复输入。

重定项:Post-Redirect-Get

1)设置重定项位置:

2)重定项实现:

内容3:Data Annotaions(数据注解)

1.如下图所示,代码中Data Annotaions的用法:

常用:

举例:

Post使用时必加项:

关于验证的使用举例:

View显示:

关于MVC设计模式下的Model的更多相关文章

  1. MVC设计模式下实现数据库的连接,并获取所有数据到浏览器页面上显示

    实现建立一个学生的java类:里面封装了属性的全部属性: public class Student { private int id; private String username; private ...

  2. 一、JSP九大内置对象 二、JAVAEE三层架构和MVC设计模式 三、Ajax

    一.JSP九大内置对象###<1>概念 不需要预先申明和定义,可以直接在jsp代码中直接使用 在JSP转换成Servlet之后,九大对象在Servlet中的service方法中对其进行定义 ...

  3. asp.net MVC设计模式中使用iTextSharp实现html字符串生成PDF文件

    因个人需求,需要将html格式转换成PDF并加上水印图片.于是乎第一次接触这种需求的小菜鸟博主我,在某度搜索引擎上不断的查阅关键字资料.踩坑,终于有了一个相应的解决方案.以下是解决步骤,记录下来方便以 ...

  4. 十五 JSP开发模式&MVC设计模式

    JSP开发模式: JavaBean + JSP  : 缺点:页面代码过多,不利于维护,JSP页面代码变得臃肿 Servlet + JavaBean + JSP :MVC设计模式 M:model   模 ...

  5. ASP.NET下MVC设计模式的实现

    [转载]MVC架构在Asp.net中的应用和实现 转载自:http://www.cnblogs.com/baiye7223725/archive/2007/06/07/775390.aspx 摘要:本 ...

  6. MVC设计模式((javaWEB)在数据库连接池下,实现对数据库中的数据增删改查操作)

    设计功能的实现: ----没有业务层,直接由Servlet调用DAO,所以也没有事务操作,所以从DAO中直接获取connection对象 ----采用MVC设计模式 ----采用到的技术 .MVC设计 ...

  7. 传智播客JavaWeb day07、day08-自定义标签(传统标签和简单标签)、mvc设计模式、用户注册登录注销

    第七天的课程主要是讲了自定义标签.简单介绍了mvc设计模式.然后做了案例 1. 自定义标签 1.1 为什么要有自定义标签 前面所说的EL.JSTL等技术都是为了提高jsp的可读性.可维护性.方便性而取 ...

  8. mvc设计模式和mvc框架的区别

    Spring中的新名称也太多了吧!IOC/DI/MVC/AOP/DAO/ORM... 对于刚刚接触spring的我来说确实晕了头!可是一但你完全掌握了一个概念,那么它就会死心塌地的为你服务了.这可比女 ...

  9. iOS中MVC设计模式

    在组织大型项目的代码文件时,我们常用MVC的思想.MVC的概念讲起来非常简单,就和对象(object)一样.但是理解和应用起来却非常困难.今天我们就简单总结一下MVC设计理念. MVC(Model V ...

随机推荐

  1. Burpsuite—渗透测试神器

    Google浏览器插件---SwitchyOmega Firefox浏览器插件---SwitchyOmega hosts代理工具---SwitchHosts[右击使用管理员权限打开] 双击burp-l ...

  2. Asp.net SignalR 实现服务端消息实时推送到所有Web端

    ASP .NET SignalR是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信.实际上 Asp.net SignalR 2 实现 服务端消息推送到Web端, 更加 ...

  3. CentOS系统安装配置mysql

    一.mysql安装 安装mysql数据库: yum install -y mysql mysql-server 判断mysql是否启动成功: service mysqld start 二.mysql配 ...

  4. python邮件发送自动化测试报告

    话不多说直接贴代码 # encoding: utf-8import smtplib #发送邮件模块from email.mime.text import MIMEText #邮件内容from emai ...

  5. jqGrid取消所有选中

    // 获取所有选中行id var jqGridRowid=$("#jqGrid").jqGrid("getGridParam","selarrrow& ...

  6. Asp.Net Core 客户端验证和远程验证

    我们先来看这样一个注册页面和它的后台Model @model RegisterViewModel @{ ViewBag.Title = "用户注册"; } <h1>用户 ...

  7. hdoj3336(kmp算法next数组的应用)

    题目链接:https://vjudge.net/problem/HDU-3336 题意:给定长为n(<=2e5)的字符串s,求s的每个前缀在s中出现的次数之和. 思路: 用dp[i]表示以s[i ...

  8. LeetCode. 阶乘后的零

    题目要求: 给定一个整数 n,返回 n! 结果尾数中零的数量. 示例: 输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零. 解法: class Solution { public: int ...

  9. 洛谷 P1019单词接龙

    看吧,多简单啊,没有人受伤的世界完成了.                                                                                ...

  10. python学习-17 列表list 2

    # 1. 选择嵌套列表里的元素(内部进行了for循环) li = [1,2,",45]],"abc",True] a = li[3][2][1] print(a) 运行结 ...