使用PagedListPager而不刷新主视图

时间:2018-10-20 05:58:49

标签: visual-studio asp.net-mvc-5 asp.net-ajax pagedlist unobtrusive-ajax

问题真的很简单

让我先解释一下情况,

其中有一个主要的View和2个PartialView,类别和产品。类别具有多个子类别和子子类别等。

我想做的是,当我单击任何类别时,它应该更改产品的PartialView的“数据”,而无需进行任何更改。我可以这样用Ajax做到这一点:

function myFunction(clickedItem) {
       //this area for showing or hiding sub-categories and i need this.
        var x = document.getElementById(clickedItem);
        if (x.style.display == 'none') {
            x.style.display = 'block';
        } else {
            x.style.display = 'none';
        } 
        var id = clickedItem;
        $.ajax({
            type: 'GET',
            url: '/Home/PartialProductList/' + id,
            success: function (response) {
                $('.table').html(response);
            }
        });
    }

到目前为止还不错,但是当我想将PageList添加到产品的PartialView中时,它将刷新主View。我发现Unobtrusive.Ajax lib。但不知道如何使用。

我的页面列表助手:

@Html.PagedListPager(Model, page => Url.Action("PartialProductList", new { page }), PagedListRenderOptions.EnableUnobtrusiveAjaxReplacing(new AjaxOptions() { HttpMethod = "GET", InsertionMode = InsertionMode.Replace, UpdateTargetId = "table" })) //last part newly added.

我是新手,所以我不明白这一点。在此代码中,Url.Action的页面URL应该是主要的View,但刷新类别的PartialView也是如此。

Url.Action的网址应该是什么? 还是有其他方法可以做到?(无需刷新类别的PartialView ofc。)

如果需要,我想共享更多代码(例如Action等),但是我想了解的是如何一起使用Html.PagedListPagerUnobtrusive.Ajax

0 个答案:

没有答案