Asp.Net MVC4入門指南(9):查詢詳細信息和刪除記錄

 

在本教程中,您將查看自動生成的DetailsDelete方法。html

查詢詳細信息和刪除記錄

打開Movie控制器並查看Details方法。

?web

Code First 使得您能夠輕鬆的使用Find方法來搜索數據。一個重要的安全功能內置到了方法中。方法首先驗證Find方法已經找到了一部電影,而後再執行其它代碼。例如,黑客能夠經過更改http://localhost:xxxx/Movies/Details/1http://localhost:xxxx/Movies/Details/12345 (或某些其它值,不表明實際影片的值)從而使得連接URL 出現錯誤。若是您沒有檢測是否找到了Movie, null Movie會致使出現數據錯誤。數據庫

查看DeleteDeleteConfirmed方法。windows

?安全

請注意,DeleteHTTP Get 方法不會刪除指定的電影,它返回刪除電影的視圖,您能夠在此視圖中提交 (HttpPost) 刪除電影。若是使用GET 請求執行刪除操做(或者執行編輯操做,建立操做或者更改數據的任何其它操做) 開闢了一個安全漏洞。對此的詳細信息,請參閱斯蒂芬 ・ 瓦爾特的博客ASP.NET MVC Tip #46 ― Don't use Delete Links because they create Security Holes.服務器

將刪除數據的HttpPost方法命名爲惟一簽名或名稱的 DeleteConfirmed 方法。這兩個方法的簽名以下所示:mvc

?app

公共語言運行時 (CLR)重載方法時,須要方法具備獨特惟一的簽名 (方法名稱相同但不一樣的參數列表)。可是,在這裏您須要兩種刪除方法 ― ― 一個 GET方法和一個POST方法它們都具備相同的簽名。(他們都須要接受一個整數做爲參數)。框架

要解決這一點,能夠有幾種辦法。一是使用不一樣的方法名稱。這是框架代碼在前面的示例中所使用的方法。然而,這就帶來了一個小問題: ASP.NET 將部分的 URL按名稱映射到操做方法,若是您重命名了方法,一般Routing將沒法找到該方法。解決方法是您在示例中看到的,將ActionName("Delete")屬性添加到DeleteConfirmed 方法。這會有效的執行Routing系統的Url映射,這樣一個包含/Delete/的 POST 請求的URL 將找到DeleteConfirmed 方法。asp.net

另外一個常見的方法,來避免具備相同名稱和簽名的方法,是人爲地改變POST 方法,包括未使用參數的簽名。例如,有些開發人員添加參數類型 FormCollectionFormCollection是會傳遞給 POST 方法的,而後根本不使用此參數:

?

總結

您如今有一個完整的 ASP.NET MVC 應用程序並在本地的 DB 數據庫中存儲數據。您能夠建立、 讀取、 更新、 刪除和搜索電影。

clip_image001

若是您想要部署應用程序,最好先在您本地的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 ApplicationMVC Music Store 教程, 瀏覽 ASP.NET articles on MSDN,的文章,再看看不少的視頻和資源:http://asp.net/mvc來了解更多關於 ASP.NET MVC 的信息 ! ASP.NET MVC forums 論壇是一個好地方,能夠用來問您想要知道的問題。

以上的查詢詳細信息和刪除記錄示例是爲了幫助你們更好的掌握MVC的知識,在進行MVC開發時,使用開發工具也能夠大大提升工做效率。使用 ComponentOne Studio ASP.NET MVC 這款輕量級控件,在效率大幅提升的同時,還能知足用戶的全部需求。

 

 

--------------------------------------------------------------------------------------------------------------------

譯者注:

本系列共9篇文章,翻譯自Asp.Net MVC4 官方教程,因爲本系列文章言簡意賅,篇幅適中,從一個示例開始講解,全文最終完成了一個管理影片的小系統,很是適合新手入門Asp.Net MVC4,並由此開始開發工做。9篇文章爲:

1. Asp.Net MVC4 入門介紹

・ 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/intro-to-aspnet-mvc-4

・ 譯文地址:http://www.cnblogs.com/powertoolsteam/archive/2012/11/01/2749906.html

2. 添加一個控制器

・ 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-controller

・ 譯文地址:http://www.cnblogs.com/powertoolsteam/archive/2012/11/02/2751015.html

3. 添加一個視圖

・ 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-view

・ 譯文地址:http://www.cnblogs.com/powertoolsteam/archive/2012/11/06/2756711.html

4. 添加一個模型

・ 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-model

・ 譯文地址:http://www.cnblogs.com/powertoolsteam/archive/2012/12/17/2821495.html

5. 從控制器訪問數據模型

・ 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/accessing-your-models-data-from-a-controller

・ 譯文地址:http://www.cnblogs.com/powertoolsteam/archive/2013/01/11/2855935.html

6. 驗證編輯方法和編輯視圖

・ 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-edit-methods-and-edit-view

・ 譯文地址:http://www.cnblogs.com/powertoolsteam/archive/2013/01/24/2874622.html

7. 給電影表和模型添加新字段

・ 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-new-field-to-the-movie-model-and-table

・ 譯文地址:http://powertoolsteam.blog.51cto.com/2369428/1140334

8. 給數據模型添加校驗器

・ 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-validation-to-the-model

・ 譯文地址:http://powertoolsteam.blog.51cto.com/2369428/1147449

9. 查詢詳細信息和刪除記錄

・ 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-details-and-delete-methods

・ 譯文地址:http://powertoolsteam.blog.51cto.com/2369428/1149311

10.第三方控件Studio for ASP.NET Wijmo MVC4 工具應用

・ 地址:http://powertoolsteam.blog.51cto.com/2369428/1196469

相關文章
相關標籤/搜索