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帮我们干了不少的事情,我们都在学习生产的代码,后续我们来亲手做一个查询来亲自体验下过程。。。

宝剑锋从磨砺出,梅花香自苦寒来!一起努力ing......
 
标签: MVC5

VS生产的编辑方法和编辑窗体的更多相关文章

  1. 【翻译转载】【官方教程】Asp.Net MVC4入门指南(6):验证编辑方法和编辑视图

    本节中,您将开始修改为电影控制器所新加的操作方法和视图.然后,您将添加一个自定义的搜索页. 在浏览器地址栏里追加/Movies, 浏览到Movies页面.并进入编辑(Edit)页面. Edit(编辑) ...

  2. Asp.Net MVC4入门指南(6):验证编辑方法和编辑视图

    在本节中,您将开始修改为电影控制器所新加的操作方法和视图.然后,您将添加一个自定义的搜索页. 在浏览器地址栏里追加/Movies, 浏览到Movies页面.并进入编辑(Edit)页面. Edit(编辑 ...

  3. C# MVC 自学笔记—6 编辑方法和编辑视图

    ==============================翻译============================== 运行该应用程序并浏览到Movies控制器通过将/Movies追加到您的浏览 ...

  4. ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)

    在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图.但是首先将修改点代码,使得发布日期属性(ReleaseDate)看上去更好.打开Models \ Movie ...

  5. 验证编辑方法(Edit method)和编辑视图(Edit view)

    ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view) 在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图.但是 ...

  6. [转]ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)

    在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图.但是首先将修改点代码,使得发布日期属性(ReleaseDate)看上去更好.打开Models \ Movie ...

  7. ASP.NET MVC4 新手入门教程之六 ---6.编辑视图与编辑方法

    在本节中,您会为电影控制器检查生成的操作方法和视图.然后,您将添加一个自定义的搜索页面. 运行该应用程序,然后浏览到Movies控制器通过将/Movies追加到您的浏览器的地址栏中的 URL.将鼠标指 ...

  8. 怎么编辑PDF文件内容,PDF文件编辑方法

    怎样编辑PDF文件内容?这是一个常常困扰我们的问题,工作当中我们经常会收到PDF格式的文件,但有时的文件内容不是我们想要的或者是觉得不合理的需要改掉.但是每次有这样的问题时都没有什么好的解决方法,每次 ...

  9. 编辑方法分享之如何编辑PDF文件内容

    我们现在在工作中会经常使用到PDF文件,还会有遇到需要编辑PDF文件的时候,PDF文件的编辑问题一直是个大难题.很多朋友在面对PDF文件的时候束手无策,不知道该怎么对它进行编辑.下面小编就教给大家一个 ...

随机推荐

  1. 注解配置的Spring MVC

    基于注解配置的Spring MVC 简单的HelloWorld实例应用   2.1 问题 使用注解的方式重构helloworld应用案例. 2.2 方案 1. @RequestMapping注解应用 ...

  2. poj 2804 字典 (特里 要么 快排+二分法)

    2804:词典 总时间限制:  3000ms  内存限制:  65536kB 描写叙述 你旅游到了一个国外的城市.那里的人们说的外国语言你不能理解.只是幸运的是,你有一本词典能够帮助你. 输入 首先输 ...

  3. thinkphp学习笔记2—入口文件

    原文:thinkphp学习笔记2-入口文件 在thinkphp中有两个入口文件,一个是项目的入口文件,是index.php在主目录里面,还有一个是thinkphp框架的的入口文件,放在框架目录下面如: ...

  4. ASP.NET MVC2.0 自定义filters

    今天大家共同学习下ASP.NET MVC2.0中自定义filters,这一节主要学习下ActionFilterAttribute, ActionFilterAttribute继承IActionFilt ...

  5. 从头开始学JavaScript (七)——函数

    原文:从头开始学JavaScript (七)--函数 一.return 函数在执行完return之后停止并立即退出. return返回值:与return: 如下两个例子: function sum(n ...

  6. iOS开展 - 中国 iOS/Mac 开发博客列表

    博客地址 RSS地址 OneV's Den http://onevcat.com/atom.xml 破船之家 http://beyondvincent.com/atom.xml NSHipster h ...

  7. 深入理解C指针之五:指针和字符串

    原文:深入理解C指针之五:指针和字符串 基础概念 字符串可以分配到内存的不同区域,通常使用指针来支持字符串操作.字符串是以ASCII字符NUL结尾的字符序列.ASCII字符NUL表示为\0.字符串通常 ...

  8. PHP通过传递对象参数调用asp.net Webservice 服务

    asp.net 测试服务 ProcessRequest.asmx文件代码  public class ProcessRequest : System.Web.Services.WebService   ...

  9. HDU 5001 概率DP || 记忆化搜索

    2014 ACM/ICPC Asia Regional Anshan Online 给N个点,M条边组成的图,每一步能够从一个点走到相邻任一点,概率同样,问D步后没走到过每一个点的概率 概率DP  測 ...

  10. The Swift Programming Language-官方教程精译Swift(5)集合类型 -- Collection Types

    Swift语言提供经典的数组和字典两种集合类型来存储集合数据.数组用来按顺序存储相同类型的数据.字典虽然无序存储相同类型数据值但是需要由独有的标识符引用和寻址(就是键值对).   Swift语言里的数 ...