手机版

ASP.NET MVC4入门教程(九):查询详情、删除记录

时间:2021-11-04 来源:互联网 编辑:宝哥软件园 浏览:

在本教程中,您将回顾自动生成的详细信息和删除方法。

查询详细信息并删除记录打开电影控制器并查看详细信息方法。

公共操作结果详细信息(int id=0){ Movie movie=db。电影。查找(id);if(movie==null){ return HttpNotFound();}返回视图(电影);}代码优先使您可以使用查找方法轻松搜索数据。该方法内置了一个重要的安全特性。方法首先验证Find方法是否找到了电影,然后执行其他代码。例如,黑客可以将http://localhost 3360 XXX/movies/details/1更改为http://localhost 3360 XXX/movies/details/12345(或其他某个值,不代表实际电影的值),这样链接URL就错了。如果不检查是否找到电影,空电影将导致数据错误。

查看删除和删除确认方法。

//GET:/Movies/Delete/5 public action result Delete(int id=0){ Movie Movie=db。电影。查找(id);if(movie==null){ return HttpNotFound();}返回视图(电影);}////POST :/Movies/Delete/5[httpset,action name(' Delete ')]public action result Delete confirmed(int id=0){ Movie Movie=db。电影。查找(id);if(movie==null){ return HttpNotFound();} db。电影。删除(电影);db。saveChanges();返回RedirectToAction(' Index ');}请注意,Delete的HTTP Get方法并不会删除指定的影片,但会返回已删除影片的视图,您可以在其中提交(httpset)已删除的影片。如果您使用GET请求来删除(或编辑、创建或更改数据),就会打开一个安全漏洞。参见斯蒂芬沃尔特的博客ASP.NET MVC提示# 46-不要使用删除链接,因为它们会为细节创建安全漏洞。

将用于删除数据的默认方法命名为具有唯一签名或名称的删除确认方法。这两种方法的签名如下:

//GET:/Movies/Delete/5 public Action result Delete(int id=0)////post :/Movies/Delete/5[httpset,Action name(' Delete ')]public Action result Delete confirm(int id=0)当公共语言运行库(CLR)重载一个方法时,要求该方法具有唯一的签名(参数列表具有相同的方法名但不同)。但是,这里需要两种删除方法——GET方法和POST方法,它们都有相同的签名。它们都需要接受一个整数作为参数。

有几种方法可以解决这个问题。一种是使用不同的方法名。这是前面示例中框架代码使用的方法。但是,这带来了一个小问题:ASP.NET通过名称将部分URL映射到操作方法,如果重命名该方法,Routing将找不到它。解决方法是在DeleteConfirmed方法中添加ActionName('Delete ')属性,如示例所示。这将有效地执行路由系统的URL映射,因此包含/Delete/POST请求的Url将找到DeleteConfirmed方法。

另一种避免名称和签名相同的常见方法是人为更改POST方法,包括不带参数的签名。例如,一些开发人员添加了传递给POST方法的参数类型FormCollection,然后根本不使用该参数:

public action result Delete(FormCollection fcNotUsed,int id=0){ Movie movie=db。电影。查找(id);if(movie==null){ return HttpNotFound();} db。电影。删除(电影);db。saveChanges();返回RedirectToAction(' Index ');}您现在有了一个完整的ASP.NET MVC应用程序,并将数据存储在本地DB数据库中。您可以创建、阅读、更新、删除和搜索电影。

如果要部署应用程序,最好先在本地IIS 7服务器上测试应用程序。您可以使用此网络平台安装程序链接来启用IIS服务器的ASP.NET应用程序的设置。请参见下面的部署链接:

在30秒内,在IIS 7上测试您的ASP.NET最有价值球员或网络表单应用程序

ASP。网部署内容图

启用IIS 7.x

网络应用项目部署

现在鼓励您开始学习中级内容为ASP。会员管理系统应用程序创建实体框架数据模型和手动音量调节音乐商店教程,浏览ASP。网关于微软官方的文章,的文章,再看看很多的视频和资源:http://asp.net/mvc来了解更多关于ASP。网最有价值球员的信息!ASP。网最有价值球员论坛论坛是一个好地方,可以用来问您想要知道的问题。

版权声明:ASP.NET MVC4入门教程(九):查询详情、删除记录是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。