使用AJAX切换局部视图

时间:2014-07-20 14:49:35

标签: ajax asp.net-mvc partial-views

在我的MVC项目中,我有这个用于渲染局部视图的代码:

方法:

public ActionResult ShowArtCollection()
        {
            var model = new ViewModel();
            model.ArtWorks = db.ArtWorks.ToList();

            return PartialView("_artcollection", model);
        }

AJAX:

$("#btnArt").click(function () {

        $.ajax({
            url: '/Home/ShowArtCollection',
            dataType: 'html',
            success: function (data) {
                $('#artworks').html(data);
            }
        });
    });

我希望我的#btnArt能够切换局部视图。我的意思是当通过单击按钮呈现_artcollection时,下一次单击应该" unrender"风景。关于如何实现这一目标的任何提示?

1 个答案:

答案 0 :(得分:2)

你可以放置一个标志,并检查下次点击时是否渲染:

var rendered = false;
$("#btnArt").click(function () {

    if (!rendered) {

        $.ajax({
            url: '/Home/ShowArtCollection',
            dataType: 'html',
            success: function (data) {
                $('#artworks').html(data);
                rendered = true;
            }
        });
    } else {
        $('#artworks').html("");
        rendered = false;
    }

});

这将为你做到这一点。