Asp.Net MVC5入门学习系列⑤
原文: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,其面貌如下:

里面的参数都是什么呢!

我们来看看:

说通俗点这个就是说你要给链接取一个名称,然后继续看:

说通俗点这个就是说你要去那个方法或者动作,所有这里你要给一个目标的方法名称,即(action名字),然后来看最后一个参数是什么:

这个呢说那么长一串串话,意思就是说问你要传递参数,如果有多个参数可以这么写比如有A,B两个参数,你就可以这么写:

@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页面看看,其面貌如下:

前台是不是果然有一个东西在和后台的阻止伪造请求的标识协调工作,而且还放了一个隐藏域来存放id,照这么看这个形式是不是有点像asp.net 数据验证控件里的ValidationSummary控件,只不过这里换了个形式,实质上还是换汤不换药。。。哈哈有兴趣的朋友可以去深入研究下。

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

是不是起到作用了,到这里Edit流程也基本就说的差不多完了。

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

posted on 2014-07-08 18:01 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/3832004.html

Asp.Net MVC5入门学习系列⑤相关推荐

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

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

  2. ASP.NET + MVC5 入门完整教程七 -—-- MVC基本工具(上)

    这里主要介绍三类工具之一的 依赖项注入(DI)容器,其他两类 单元测试框架和模仿工具以后介绍. 1.准备示例项目 从创建一个简单的示例开始,名称为"EssentialTools" ...

  3. ASP.NET + MVC5 入门完整教程五 --- Razor (模型与布局)

    1.准备示例项目 为了演示Razor,使用VS创建一个名称为"Razor"的新项目:这里选择 "Empty(空)"选项,并勾选"MVC"复选 ...

  4. 开源推荐:Asp.Net Core入门学习手册!

    前言 推荐一个入门级的.NET Core开源项目,非常适合新手入门学习.NET Core. 开源地址: https://github.com/windsting/little-aspnetcore-b ...

  5. WPF入门学习----系列基础教程

    WPF入门教程系列目录 WPF入门教程系列二--Application介绍 WPF入门教程系列三--Application介绍(续) WPF入门教程系列四--Dispatcher介绍 WPF入门教程系 ...

  6. ASP.NET MVC5 入门篇之WEB开发的知识结构

    设计模式鸽了,但是肯定会写.这边先开一个ASP.NET MVC5 的坑. 本文假定你已经比较熟悉C#这门语言以及了解一个网站程序是运行在互联网上的主机中. WEB开发是什么? WEB开发就是网站开发, ...

  7. python 图表_Python入门学习系列——使用Python调用Web API实现图表统计

    使用Python调用Web API实现图表统计 Web API:Web应用编程接口,用于URL请求特定信息的程序交互,请求的数据大多以非常易于处理的格式返回,比如JSON或CSV等. 本文将使用Pyt ...

  8. RabbitMQ入门学习系列(二),单生产者消费者

    友情提示 我对我的文章负责,发现好多网上的文章 没有实践,都发出来的,让人走很多弯路,如果你在我的文章中遇到无法实现,或者无法走通的问题.可以直接在公众号<爱码农爱生活 >留言.必定会再次 ...

  9. python代码测试_Python入门学习系列——Python代码测试

    Python代码测试 对于编写的代码,可以使用unittest模块中的相关方法进行测试. 测试函数 首先定义一个简单的函数,该函数用来合并名称并返回. name_function.py: def ge ...

最新文章

  1. 在网页中画Icon小图标
  2. python代码优化_Python 代码优化技巧(一)
  3. 北京冬奥会“特许上新日”迎春节 将集中上市多款年味产品
  4. linux i2c调试命令,嵌入式Linux下I2C接口调试
  5. 【转】最佳 WordPress 缓存插件:WP Super Cache
  6. 【C语言】字节对齐问题(以32位系统为例)
  7. SecurityContextPersistenceFilter和SecurityContextHolder的作用
  8. Ubuntu apt-get 卸载命令
  9. mysql dump还原_mysql dump备份和恢复
  10. 顺丰快递员私自截留口罩贩卖?官方回应来了:口罩微商搞的鬼!
  11. 论网络安全(观直播后感)
  12. retrofit与rxjava使用
  13. Cordova的安装及环境配置
  14. python下载网页内容_使用selenium下载整个html页面内容
  15. 前端CSS学习(第3、4天)
  16. vue中事件修饰符,stop,prevent,capture,self,once
  17. 百度关闭快照删除更新入口
  18. 计算机英语中文参考书,推荐几本计算机英语书?
  19. 通俗易懂解释raid0和raid5_简要阐述raid 0,raid 1,raid5 之间的区别于优缺点以及最低组建条件和可用容量...
  20. python实现猫抓老鼠

热门文章

  1. 在MySQL中当有多个索引时 你知道MySQL是如何选择索引的吗 ???
  2. 浏览器中的JavaScript
  3. 第六篇:视图、触发器、事务、存储过程、函数
  4. loj#2542. 「PKUWC2018」随机游走(MinMax容斥 期望dp)
  5. Android-support-v4源码查看
  6. 详解C#防访问修饰符:public,private,protected,internal
  7. C++关键字--volatile
  8. sql中怎么根据汉字的拼音首字母查询
  9. P2550 [AHOI2001]彩票摇奖
  10. word2003计算机考试题,[2018职称计算机Word2003考前练习题] 2018年职称计算机考试练习题库...