从javascript调用Asp Action

时间:2016-10-30 15:31:30

标签: javascript jquery asp.net-mvc asp.net-core

当点击另一个表选项时,我将使用由javascript填充的表。所有这一切都没有问题,当我向表中添加删除按钮时,onClick事件会触发但是在asp.net中没有调用过。

function DeleteLink(id) {
    $.ajax({
        url: '/PublicPages/LinkDelete/',
        data:{ id:id }
    });
}

请告诉我哪里出错了。

我试过了

function DeleteLink(id) {
    $.ajax({
        url: '/PublicPages/LinkDelete/' + id
}

以及

更新:

    [HttpPost]
    public async Task<IActionResult> LinkDelete(Guid id)
    {
        var pageId = _linkDataProvider.FindById(id).PublicPage.Id;
        _linkDataProvider.Delete(id);
        var page = await _pageDataProvider.FindById(pageId);
        var viewModel = _pageDataProvider.ConvertToViewModel(page);
        return View("Details", viewModel);
    }

UPDATE2

app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Flooring}/{action=Index}/{id?}"); });

1 个答案:

答案 0 :(得分:2)

您应该在ajax设置中指定http方法。尝试更改您的javascript,如下所示:

function DeleteLink(id) {
    $.ajax({
        type = 'POST',
        url: '/PublicPages/LinkDelete/' + id
    });
}

<强>更新

如果您更喜欢使用data:{ id:id },那么您需要创建一个模型类:

public class DeleteModel
{
    public Guid Id{get;set;}
}

[HttpPost]
public async Task<IActionResult> LinkDelete([FromBody]DeleteModel model)
....