亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET MVC4中怎么查詢詳細信息和刪除記錄

發布時間:2021-07-15 16:28:00 來源:億速云 閱讀:138 作者:Leah 欄目:開發技術

本篇文章為大家展示了ASP.NET MVC4中怎么查詢詳細信息和刪除記錄,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

查詢詳細信息和刪除記錄打開Movie控制器并查看Details方法。

public ActionResult Details(int id = 0)
{
  Movie movie = db.Movies.Find(id);
  if (movie == null)
  {
    return HttpNotFound();
  }
  return View(movie);
}

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

查看Delete和DeleteConfirmed方法。

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

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

將刪除數據的HttpPost方法命名為唯一簽名或名稱的 DeleteConfirmed 方法。這兩個方法的簽名如下所示:

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

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

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

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

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");
}

您現在有一個完整的 ASP.NET MVC 應用程序并在本地的 DB 數據庫中存儲數據。您可以創建、 讀取、 更新、 刪除和搜索電影。

ASP.NET MVC4中怎么查詢詳細信息和刪除記錄

上述內容就是ASP.NET MVC4中怎么查詢詳細信息和刪除記錄,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大田县| 宁远县| 原平市| 锡林郭勒盟| 大安市| 渭南市| 洪江市| 仙游县| 武清区| 贞丰县| 建瓯市| 广宗县| 屏山县| 乌拉特中旗| 阿拉善右旗| 雅安市| 镇宁| 黄梅县| 裕民县| 息烽县| 宁武县| 贵溪市| 盐边县| 天台县| 休宁县| 沾化县| 水城县| 石阡县| 德庆县| 平南县| 郧西县| 深圳市| 九江市| 宁国市| 永新县| 敖汉旗| 洞头县| 南涧| 上林县| 上栗县| 天祝|