原文:Asp.Net MVC5入门学习系列⑤

检查VS生产的编辑方法和编辑窗体

前面我们一步使用强类型,然后创建Controller(控制器)的时候,VS默认已经给我们把CURD都简单的实现了。这篇的话就简单的看下它默认实现的代码,VS终归强大,但是方便的同时也是在弱化我们,当然大牛级别的这样搞是为了效率,我们新手的话还是建议不要去偷那个懒,至于为什么?不解释啦.....

我们打开我们的创建的实体对象Movie类,然后再ReleaseDate属性上添加一些标识特性,具体如下:

我们设置了一下ReleaseDate属性的通用属性还有它的类型以及它在Asp.net动态数据显示的格式。然后我们运行起来我们写的简单程序,效果如下:

这里有可以看到MVC的经典读取RoutConfig.cs路由机制,这个是不是类似{controller}/{action}/{id}.........,其实完成这一个动作的话页面上是有一个ActionLink的方法来辅助生产这么炫的html超链接标签,打开index.cshtml页面,我们看下MVC 独有的ActionLink,其面貌如下:

我们来看看:

@html.ActionLink("xxxx","xxxx",new{value1=item.A,value2=item.B}),多个参数之间用逗号隔开。

OK继续接着上面的程序跑起来的图我们继续走完这个编辑的流程,当我们点击Edit超链接一瞬间程序干的事情如下,流程效果如下:

然后你就会看到下面的页面:

同时也就是说在我们在首页点击编辑按钮时HTTP是以GET请求了Controller里的Edit方法,注意这里有两个Edit方法但是却别是非常大的,就代码直观上来说第一个Edit是负责接收Get请求Edit动作,而第二则负责接收Post请求的动作,第一个实际上干的事情就是你给我参数我把数据给你拿出来放到你的编辑页面,第二个Edit干的事情就是你对页面的数据做了修改然后要POST给我,我去给你负责保存在数据库中,这个是个人直观上解释。

大家可能会注意在POST的action方法上有这么一个标识,如下图:

其实开始才创建的时候我也觉得好奇,但是试验了好几个都会生产这么一个东西在Action上面,照这么说这应该是mvc4开始的一个改进的地方吧!这个标识属性其实就是为阻止伪造的请求,而这个Bind(Includ="x,x,x,x")做了一些什么事情,我们看看,其负责的事情如下:

说的通俗易懂点的话,它在这里就是负责绑定参数,不过这个参数是我们Model的属性名称。Controller里有阻止伪造请求,那么有伪造的数据了这么办,View层是不是应该有什么东西去和这个标识协调工作,我们打开Eidt.cshtml页面看看,其面貌如下:

我们就伪造的输入几个数据看看有什么效果,具体如下:

后续我们继续学习入门系列知识,目前为止都是VS帮我们干了不少的事情,我们都在学习生产的代码,后续我们来亲手做一个查询来亲自体验下过程。。。

Asp.Net MVC5入门学习系列⑤的更多相关文章

  1. Asp.Net MVC5入门学习系列③

    原文:Asp.Net MVC5入门学习系列③ 添加一个视图(View) 接着上篇的入门系列,上面解说添加一个简单Controller(控制器),这里我们简单的在来添加一个View(视图)来展示我们Co ...

  2. Asp.Net MVC5入门学习系列②

    原文:Asp.Net MVC5入门学习系列② 添加一个Controller(控制器) 因为我们用的是Asp.Net MVC,MVC最终还是一套框架,所以我们还是需要遵循它才能玩下去,或者说是更好的利用 ...

  3. Asp.Net MVC5入门学习系列①

    原文:Asp.Net MVC5入门学习系列① 现在直接开始MVC5的学习系列,学习资源来自Micrsoft. 开始使用Asp.Net MVC 5 打开Visual Studio 2013,然后新建一个 ...

  4. Asp.Net MVC5入门学习系列⑦

    原文:Asp.Net MVC5入门学习系列⑦ 接着上篇结尾所说,如果开发中刚才遇到Model需要添加或者减少字段/属性的话,但是刚好你也利用EF的Code frist通过Model生存的数据库,这时改 ...

  5. Asp.Net MVC5入门学习系列⑥

    原文:Asp.Net MVC5入门学习系列⑥ 接着上次的篇幅,我们这篇手动来写一个查询的流程代码! 搜索/查询 流程功能的实现 那现在要做搜索(查询)功能我们第一步应该做什么呢!第一次是不是我们应该去 ...

  6. Asp.Net MVC5入门学习系列④

    原文:Asp.Net MVC5入门学习系列④ 添加Model且简单的使用EF 对于EF(EntityFramework)不了解的朋友可以去百度文科或者在园子里搜一些简资源看下,假如和我一样知道EF的概 ...

  7. Asp.Net MVC5入门学习

    添加一个Controller(控制器) 因为我们用的是Asp.Net MVC,MVC最终还是一套框架,所以我们还是需要遵循它才能玩下去,或者说是更好的利用来便于我们的开发,要是对MVC概念还有点模糊的 ...

  8. MVC5入门学习系列④

    添加Model且简单的使用EF 对于EF(EntityFramework)不了解的朋友可以去百度文科或者在园子里搜一些简资源看下,假如和我一样知道EF的概念,那么就知道EF有一个code first的 ...

  9. Bootstrap3.0入门学习系列

    Bootstrap3.0入门学习系列规划[持续更新]   前言 首先在此多谢博友们在前几篇博文当中给与的支持和鼓励,以及在回复中提出的问题.意见和看法. 在此先声明一下,之前在下小菜所有的随笔文章中, ...

随机推荐

  1. ignore,neglect,omit,overlook

    一:简介——ignore :通常指有意不顾,或不理显而易见的事物.neglect :侧重指有意的忽略或忽视,也可指粗心与疏忽.omit :指有意或无意地忘记做某事,也指删去被视作不重要.不合意的东西. ...

  2. RPG游戏学习——1.任务脚本系统

    [前言] 近期准备做个rpg小游戏,所以開始研究rpg的一些系统.rpg最核心的应该是任务脚本系统(其它脚本系统类似),在參考了非常多网上的资料后,简要总结例如以下. [脚本的触发运行] 一个脚本须要 ...

  3. poj 1975 Median Weight Bead(传递闭包 Floyd)

    链接:poj 1975 题意:n个珠子,给定它们之间的重量关系.按重量排序.求确定肯定不排在中间的珠子的个数 分析:由于n为奇数.中间为(n+1)/2,对于某个珠子.若有至少有(n+1)/2个珠子比它 ...

  4. Android_Training

    http://wiki.eoeandroid.com/Android_Training Android小白成长之0基础篇

  5. 无法使用SQL login去登陆SQL Server - 'Password did not match'

    原文:无法使用SQL login去登陆SQL Server - 'Password did not match' 出自:http://blogs.msdn.com/b/apgcdsd/archive/ ...

  6. STL源代码分析--迭代摘要、迭代器失效汇总

    Vector 1.内部数据结构:连续存储,比如数组. 2.随机訪问每一个元素,所须要的时间为常量. 3.在末尾添加或删除元素所需时间与元素数目无关,在中间或开头添加或删除元素所需时间随元素数目呈线性变 ...

  7. Android EventBus源代码解析 带你深入理解EventBus

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/40920453,本文出自:[张鸿洋的博客] 上一篇带大家初步了解了EventBus ...

  8. SICP 习题(1.1,1.2,1.3,1.4)解题总结。

    近来在重读SICP,以前读过一次,读了第一二章就没有坚持下去,时间一长就基本忘记了,脑海里什么都不剩,就隐约记得自己曾经读过一本很牛B的书. 这次读希望能够扎实一点,不管能读到哪里,希望可以理解一些东 ...

  9. java并行体系结构

    并行编程 线程通信 共享内存和消息传递 线程同步 控制不同线程的运行顺序 java并发 基于共享内存模型 指令重排序 编译器重排序 处理器重排序 cpu重排序 写缓存区(cache.寄存器) 内存屏障 ...

  10. Andio Studio

    坑一:layout文件中提示(见图):(关键词检索:因为百度和google的时候都没看到这个东东,只在stackoverflow上看到这个提问,但是还没人回答.希望大家可以百度到我这条) ①:Chec ...