Jquery到MVC的方法

本文关键字:方法 MVC Jquery | 更新日期: 2023-09-27 18:14:07

我想使用jQuery和mvc-actionmethod删除一个db条目。但是我似乎不能让deletemethode工作…

Index.cshtml

<

代码控制器/strong>

    // DELETE: api/Categories/5
    [ResponseType(typeof(Category))]
    public IHttpActionResult DeleteCategory(int id)
    {
        Category category = db.Categories.Find(id);
        if (category == null)
        {
            return NotFound();
        }
        db.Categories.Remove(category);
        db.SaveChanges();
        return Ok(category);
    }

Jquery到MVC的方法

让我们开始吧。我假设您使用的是ApiController

如果你使用一个名为Categories的控制器,那么最好使用方法的名称作为它所代表的动词。如果你想发送一个DELETE: api/categories/id,那么你应该有你的方法:

[ResponseType(typeof(Category))]
public IHttpActionResult Delete(int id)
{
    Category category = db.Categories.Find(id);
    if (category == null)
    {
        return NotFound();
    }
    db.Categories.Remove(category);
    db.SaveChanges();
    return Ok(category);
}

如果你真的想叫它DeleteCategory,那么你应该说明它代表什么http verb:

[HttpDelete]
[ResponseType(typeof(Category))]
public IHttpActionResult DeleteCategory(int id)
{
    Category category = db.Categories.Find(id);
    if (category == null)
    {
        return NotFound();
    }
    db.Categories.Remove(category);
    db.SaveChanges();
    return Ok(category);
}

但是它不工作的主要原因是因为您的function除了调用alert之外没有做任何事情

function DeleteCategory(item) 
{
    alert(item);
}

ps:当你正在使用javascript时,不要在下一行使用大括号。javascript的自动分号插入可能会导致问题。总是做:

function DeleteCategory(item) {
    alert(item);
}

我真的很感谢你所有的评论。正如你所看到的,我对stackflow和编程非常陌生!

我试过警报只是为了确保我的功能是工作的,包括项目。

困难的部分是我如何调用我的delete方法,并为此删除特定的项目…