在本教程中,您将查看自动生成的DetailsDelete方法。

查询详细信息和删除记录

打开Movie控制器并查看Details方法。

?

Code First 使得您可以轻松的使用Find方法来搜索数据。一个重要的安全功能内置到了方法中。方法首先验证Find方法已经找到了一部电影,然后再执行其它代码。例如,黑客可以通过更改http://localhost:xxxx/Movies/Details/1http://localhost:xxxx/Movies/Details/12345 (或某些其它值,不代表实际影片的值)从而使得链接URL 出现错误。如果您没有检测是否找到了Movie, null Movie会导致出现数据错误。

查看DeleteDeleteConfirmed方法。

?

请注意,DeleteHTTP Get 方法不会删除指定的电影,它返回删除电影的视图,您可以在此视图中提交 (HttpPost) 删除电影。如果使用GET 请求执行删除操作(或者执行编辑操作,创建操作或者更改数据的任何其它操作) 开辟了一个安全漏洞。对此的详细信息,请参阅斯蒂芬 · 瓦尔特的博客ASP.NET MVC Tip #46 — Don't use Delete Links because they create Security Holes.

将删除数据的HttpPost方法命名为唯一签名或名称的 DeleteConfirmed 方法。这两个方法的签名如下所示:

?

公共语言运行时 (CLR)重载方法时,需要方法具有独特唯一的签名 (方法名称相同但不同的参数列表)。但是,在这里您需要两种删除方法 — — 一个 GET方法和一个POST方法它们都具有相同的签名。(他们都需要接受一个整数作为参数)。

要解决这一点,可以有几种办法。一是使用不同的方法名称。这是框架代码在前面的示例中所使用的方法。然而,这就带来了一个小问题: ASP.NET 将部分的 URL按名称映射到操作方法,如果您重命名了方法,通常Routing将无法找到该方法。解决方法是您在示例中看到的,将ActionName("Delete")属性添加到DeleteConfirmed 方法。这会有效的执行Routing系统的Url映射,这样一个包含/Delete/的 POST 请求的URL 将找到DeleteConfirmed 方法。

另一个常见的方法,来避免具有相同名称和签名的方法,是人为地改变POST 方法,包括未使用参数的签名。例如,有些开发人员添加参数类型 FormCollectionFormCollection是会传递给 POST 方法的,然后根本不使用此参数:

?

总结

您现在有一个完整的 ASP.NET MVC 应用程序并在本地的 DB 数据库中存储数据。您可以创建、 读取、 更新、 删除和搜索电影。

如果您想要部署应用程序,最好先在您本地的IIS 7 服务器上测试一下您的应用程序。您可以使用此 Web Platform Installer 链接启用IIS服务器的 ASP.NET 应用程序的设置。请参阅下面的部署链接:

· Test your ASP.NET MVC or WebForms Application on IIS 7 in 30 seconds

· ASP.NET Deployment Content Map

· Enabling IIS 7.x

· Web Application Projects Deployment

现在鼓励您开始学习中级内容 Creating an Entity Framework Data Model for an ASP.NET MVC Application 和 MVC Music Store 教程, 浏览 ASP.NET articles on MSDN,的文章,再看看很多的视频和资源:http://asp.net/mvc来了解更多关于 ASP.NET MVC 的信息 ! ASP.NET MVC forums 论坛是一个好地方,可以用来问您想要知道的问题。

本文转自 powertoolsteam 51CTO博客,原文链接:http://blog.51cto.com/powertoolsteam/1149311,如需转载请自行联系原作者

Asp.Net MVC4入门指南(9):查询详细信息和删除记录相关推荐

  1. 09、查询详细信息和删除记录

    在本教程中,您将查看自动生成的Details和Delete方法. 查询详细信息和删除记录 打开Movie控制器并查看Details方法. ? public ActionResult Details(i ...

  2. Asp.Net MVC4入门指南(3):添加一个视图

    在本节中,您需要修改HelloWorldController类,从而使用视图模板文件,干净优雅的封装生成返回到客户端浏览器HTML的过程. 您将创建一个视图模板文件,其中使用了ASP.NET MVC ...

  3. 【翻译转载】【官方教程】Asp.Net MVC4入门指南(2):添加一个控制器

    2. 添加一个控制器 · 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-c ...

  4. Asp.Net MVC4入门指南(5):从控制器访问数据模型

    在本节中,您将创建一个新的MoviesController类,并在这个Controller类里编写代码来取得电影数据,并使用视图模板将数据展示在浏览器里. 在开始下一步前,先Build一下应用程序(生 ...

  5. 读《asp.net MVC4开发指南(黄保翕编著)》笔记

    在刚刚过去的中秋节中,利用了两天的碎片时间把黄保翕编著的<asp.net MVC4 开发指南>看了遍,笔记如下,欢饮在开发MVC的同学一起来探讨: 1.社区 2.开源程序 3.易测试性 4 ...

  6. asp.net mvc linux,ASP.NET MVC4开发指南PDF扫描版+源码

    ASP.NET MVC问世已久,几年前或许有人会担心ASP.NET MVC框架是否能用在实务的项目上,也担心用在新项目上是否真的能改善开发效率与质量,但笔者这几年下来,已经累积数十个网站项目改用ASP ...

  7. 苏州公交实时查询api 根据线路编码查询详细信息

    苏州公交实时查询api-苏州公交状态实时跟踪,根据线路编码查询详细信息. 接口名称:苏州公交实时查询api 接口平台:api接口 接口地址:http://apis.juhe.cn/szbusline/ ...

  8. 词典api,根据成语查询详细信息

    词典api,根据成语查询详细信息,如:详解.同义词.反义词.读音等信息 接口名称:词典api 接口平台:api接口 接口地址:http://v.juhe.cn/chengyu/query 支持格式:j ...

  9. isbn书号查询api,根据图书ISBN查询详细信息

    isbn书号查询api,根据图书ISBN查询详细信息,目前支持 京东,当当,博库电商图书. 接口名称:isbn书号查询api 接口平台:开放接口 接口地址:http://v.juhe.cn/ebook ...

最新文章

  1. 如何处理“已超出域所允许创建计算机账户的最大值”
  2. 配置免密码登录Linux服务器
  3. 2.2 图像类型转换
  4. KL-divergence
  5. R语言paste函数
  6. 推荐几本对创业者很有用的书籍
  7. mysql主从配置访问_Mysql主从配置,实现读写分离
  8. Nginx Learning (1)
  9. c# 在mongo中查询经纬度范围
  10. 系统学习机器学习之神经网络(一)--MLP及局部模型,RBF综述
  11. python三级菜单的实现
  12. 车载高精度GNSS定位天线
  13. VectorDraw Web JS 9.9 Crack
  14. 嵌入式C语言编码规范
  15. ffmpeg 再编译使用 ffmpeg-gl-transition
  16. TP4101充电IC与锂电池保护二合一IC
  17. signature=cc1c224e1386c7abfb9e93371b44eda6,Ultrafast hot-carrier-dominated photocurrent in graphene
  18. 计算机软件网络工程师考试试题,网络工程师考试试题及答案.doc
  19. FILCO蓝牙CSR4.0驱动安装连接(解决蓝牙连接的终极管理方法,速度极快)
  20. python——函数

热门文章

  1. 数据库---查询(详细)
  2. vue.js ui_UI / UX开发:考虑Vue.js
  3. React 重温之 组件生命周期
  4. 操作Checkbox标签
  5. 让DIV中文字换行显示
  6. PowerCenter基础心得
  7. gitlab4安装mysql出问题解决方法
  8. MySQL使用裸设备
  9. vue 开发环境搭建
  10. 分布式锁的几种实现原理