MVC删除记录,但如何在Controller中编码

rob*_*pnl 2 asp.net-mvc-3

我是使用ASP.Net(C#)的MVC3的初学者,但我没有得到删除记录的下一个情况.

我有一个View,要求用户确认删除项目(记录).作为代码我有这个来初始化视图:

public ActionResult KeywordsDelete(Guid id)
{
    _db = new BlaContext();
    return _db.SearchTerms.Where(x => x.id.Equals(id)).First();
}
Run Code Online (Sandbox Code Playgroud)

但是一旦确认,我就有了下一个代码.

[HttpPost]
public ActionResult KeywordsDelete(Guid id)
{
    _db = new BlaContext();
    var term = _db.SearchTerms.Where(x => x.id == id).First();
    _db.SearchTerms.Remove(term);
    _db.SaveChanges();
     return View("Keywords", _db.SearchTerms.ToList());
 }
Run Code Online (Sandbox Code Playgroud)

无法构建,因为此方法的签名已存在(相同的参数和方法名称).

所以我不知道在这种情况下如何删除记录.使用默认的Scaffold模板(删除)创建视图.

小智 5

在阅读MVC时,我找到了解决这个问题的替代方案.检查:改进细节和删除方法

[HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(int id = 0)
{
    // Delete stuff...
}
Run Code Online (Sandbox Code Playgroud)

这会将操作Delete路由到DeleteConfirmed方法.