真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ASP.NETMVC5-查詢Details和Delete方法-創(chuàng)新互聯(lián)

在這部分教程中,接下來我們將討論自動(dòng)生成的Details和Delete方法。

創(chuàng)新互聯(lián)專注于余姚網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供余姚營(yíng)銷型網(wǎng)站建設(shè),余姚網(wǎng)站制作、余姚網(wǎng)頁設(shè)計(jì)、余姚網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)公司服務(wù),打造余姚網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供余姚網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

查詢Details和Delete方法

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

ASP.NET MVC 5 - 查詢Details和Delete方法

public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Movie movie = db.Movies.Find(id);
if (movie == null)
{
return HttpNotFound();
}
return View(movie);
}

MVC scaffolding引擎增加了一個(gè)注釋表明,在調(diào)用的HTTP請(qǐng)求方法中,GET請(qǐng)求有三個(gè)URL段,Movies控制器,Details方法和ID值。

Code First 使得您可以輕松的使用Find方法來搜索數(shù)據(jù)。一個(gè)重要的安全功能內(nèi)置到了方法中。方法首先驗(yàn)證Find方法已經(jīng)找到了一部電影,然后再執(zhí)行其它代碼。例如,***可以通過更改http://localhost:xxxx/Movies/Details/1http://localhost:xxxx/Movies/Details/12345 (或某些其它值,不代表實(shí)際影片的值)從而使得鏈接URL 出現(xiàn)錯(cuò)誤。如果您沒有檢測(cè)是否找到了Movie, null Movie會(huì)導(dǎo)致出現(xiàn)數(shù)據(jù)錯(cuò)誤。

查看DeleteDeleteConfirmed方法。

// GET: /Movies/Delete/5
public ActionResult Delete(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Movie movie = db.Movies.Find(id);
if (movie == null)
{
return HttpNotFound();
}
return View(movie);
}
// POST: /Movies/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id)
{
Movie movie = db.Movies.Find(id);
db.Movies.Remove(movie);
db.SaveChanges();
return RedirectToAction("Index");
}

請(qǐng)注意,DeleteHTTP Get 方法不會(huì)刪除指定的電影,它返回刪除電影的視圖,您可以在此視圖中提交 (HttpPost) 刪除電影。如果使用GET 請(qǐng)求執(zhí)行刪除操作(或者執(zhí)行編輯操作,創(chuàng)建操作或者更改數(shù)據(jù)的任何其它操作) 開辟了一個(gè)安全漏洞。對(duì)此的詳細(xì)信息,請(qǐng)參閱斯蒂芬 · 瓦爾特的博客ASP.NET MVC Tip #46 — Don't use Delete Links because they create Security Holes.

將刪除數(shù)據(jù)的HttpPost方法命名為唯一簽名或名稱的 DeleteConfirmed 方法。這兩個(gè)方法的簽名如下所示:

// GET: /Movies/Delete/5
public ActionResult Delete(int? id)
//
// POST: /Movies/Delete/5
[HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(int id)

公共語言運(yùn)行時(shí) (CLR)重載方法時(shí),需要方法具有獨(dú)特唯一的簽名 (方法名稱相同但不同的參數(shù)列表)。但是,在這里您需要兩種刪除方法 — — 一個(gè) GET方法和一個(gè)POST方法它們都具有相同的簽名。(他們都需要接受一個(gè)整數(shù)作為參數(shù))。

要解決這一點(diǎn),可以有幾種辦法。一是使用不同的方法名稱。這是框架代碼在前面的示例中所使用的方法。然而,這就帶來了一個(gè)小問題: ASP.NET 將部分的 URL按名稱映射到操作方法,如果您重命名了方法,通常Routing將無法找到該方法。解決方法是您在示例中看到的,將ActionName("Delete")屬性添加到DeleteConfirmed 方法。這會(huì)有效的執(zhí)行Routing系統(tǒng)的Url映射,這樣一個(gè)包含/Delete/的 POST 請(qǐng)求的URL 將找到DeleteConfirmed 方法。

另一個(gè)常見的方法,來避免具有相同名稱和簽名的方法,是人為地改變POST 方法,包括未使用參數(shù)的簽名。例如,有些開發(fā)人員添加參數(shù)類型 FormCollection,F(xiàn)ormCollection是會(huì)傳遞給 POST 方法的,然后根本不使用此參數(shù):

public ActionResult Delete(FormCollection fcNotUsed, int id = 0)
{
Movie movie = db.Movies.Find(id);
if (movie == null)
{
return HttpNotFound();
}
db.Movies.Remove(movie);
db.SaveChanges();
return RedirectToAction("Index");
}

小結(jié)

您現(xiàn)在有一個(gè)完整的 ASP.NET MVC 應(yīng)用程序并在本地的 DB 數(shù)據(jù)庫中存儲(chǔ)數(shù)據(jù)。您可以創(chuàng)建、 讀取、 更新、 刪除和搜索電影。

ASP.NET MVC 5 - 查詢Details和Delete方法

下一步

在您構(gòu)建和測(cè)試一個(gè)Web應(yīng)用程序之后,下一步就是將其提供給其他人,以使得通過互聯(lián)網(wǎng)訪問。要做到這一點(diǎn),你需要將它部署到一個(gè)Web主機(jī)。 如通過微軟的free Windows Azure trial account,您可以部署多達(dá)10個(gè)Web站點(diǎn)。我建議你??下一步請(qǐng)按照我的教程Deploy a Secure ASP.NET MVC app with Membership, OAuth, and SQL Database to a Windows Azure Web Site,以更深入了解如何部署。另外,還有一個(gè)很好的教程是Tom Dykstra's的中級(jí)的Creating an Entity Framework Data Model for an ASP.NET MVC Application. Stackoverflow 和 ASP.NET MVC forums。

提出問題的好地方:StackOverflow的ASP.NET MVC的論壇或者GCDN的Web軟件開發(fā)討論區(qū)。請(qǐng)關(guān)注我們的博客,這樣你就可以獲得最新教程的更新信息流。

任何意見,歡迎反饋。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


新聞名稱:ASP.NETMVC5-查詢Details和Delete方法-創(chuàng)新互聯(lián)
URL分享:http://weahome.cn/article/dsoheh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部