无法使用jquery mvc 4加载内容

时间:2014-07-07 01:14:22

标签: c# javascript jquery asp.net-mvc asp.net-mvc-4

我正在尝试使用jquery.load()方法加载部分页面内容,它正在加载内容但不加载样式。我搜索过互联网,但找不到任何解决方案。我正在分享我到目前为止所做的一切。

JQUERY:

$(function () {
    var site = site || {};
    site.baseUrl = site.baseUrl || "";

    $(document).ready(function (e) {
        $(".partialContents").each(function (index, item) {
            var url = site.baseUrl + $(item).data("url");
            if (url && url.length > 0) {

                $(item).load(url, function (response, status, xhr) {
                    if (status == "error") {
                        alert(xhr.status);
                    }
                    return false;
                });
            }
        });
    });
});

查看:

<div class="owl-carousel owl-carousel5">
  <span class="partialContents" data-url="@Url.Action("LoadNew","Home")"></span>
</div>

控制器操作:

public async Task<ActionResult> LoadNew()
{
    var viewModel = new CategoryViewModel();
    viewModel.Products = await db.Products.Include(c => c.Reviews).Include(c => c.CategoryContents).Include(c => c.Affiliates).ToListAsync();
    return PartialView("_NewProducts", viewModel);
}

1 个答案:

答案 0 :(得分:1)

正如您在评论中提到的,您在布局中引用了css,您必须返回View而不是PartialView。 所以,

public async Task<ActionResult> LoadNew()
{
    var viewModel = new CategoryViewModel();
    viewModel.Products = await db.Products.Include(c => c.Reviews).Include(c => c.CategoryContents).Include(c => c.Affiliates).ToListAsync();
    return View("_NewProducts", viewModel);
}

应该做的工作。