在JQuery和ASP.NET CORE中发布功能后表未刷新

我已经制定了一种过滤方法。该方法的工作原理很吸引人,当我键入某些内容时,表格将更新为搜索字符串。这是我的搜索方法:

loadList() {
var searchString = $(".search-input").val();
$.post('/Translation/List?searchString=' + searchString,function (data) {                      
$(".table-content-view").html(data);                    
});
}

当我想插入新记录时,我调用此方法:

saveTranslation() {
                $.ajax({
                    url: '/Translation/Edit',data: new FormData($(`${tr.selectedclass} #translation-form`)[0]),processData: false,contentType: false,type: 'POST',success: function (response) {
                        if (response.success === true) {                        
                            loadList();
                        }
                    }
                });
            }

此方法工作正常(已通过邮递员和chrome dev工具确认)。问题是我需要按F5键查看新记录,而不是立即刷新。如您所见,我调用方法LoadList()刷新表,但这不起作用。

注意:

我对表使用局部视图。

这是我用于列表的C#方法:

[HttpPost]
public async Task<IactionResult> List(string searchString)
{       
    var translations = _context.translation.AsQueryable();
    translations = translations.OrderBy(x => x.CORETRANSLATIONID);

    if (!String.IsnullOrEmpty(searchString))
    {
           translations = translations.Where(x => x.ORIGINAL.Contains(searchString));
    }           
    return PartialView(await translations.ToListAsync());
}

有人可以指出我正确的方向吗?

Jackiezhan115 回答:在JQuery和ASP.NET CORE中发布功能后表未刷新

在JQuery的 post 方法中,我也进行了更改

saveTranslation() {
                $.ajax({
                    url: '/Translation/Edit',data: new FormData($(`${tr.selectedclass} #translation-form`)[0]),processData: false,contentType: false,type: 'POST',success: function (response) {                      
                        loadList();
                    }
                });
            }

不需要if语句。

本文链接:https://www.f2er.com/3160115.html

大家都在问