Ajax调用返回PartialView返回整个Layout页面和局部视图

时间:2016-07-28 18:11:52

标签: javascript c# ajax asp.net-mvc

我的_Layout.cshtml页面中有一些链接,例如:

<li><a onclick="aboutPage(); return false;" href="fallback.html">About</a></li>

在我的Layout页面中,我有:

<div id="mainSection">
   <!-- Render individual pages -->
   @RenderBody()
</div>

a标记然后调用:

function aboutPage() {
    $.ajax({
        url: '/About/Index',
        dataType: 'html',
        success: function (data) {
            $('#mainSection').html(data);
        }
    });
}

我的AboutController内有

public ActionResult Index() {
       return View();
}

但也尝试过:

public PartialViewResult Index() {
       return PartialView();
       //return PartialView("~/Views/About/Index.cshtml");
}

但在所有情况下,返回的数据都是整个_Layout.cshtml页面,About div中有mainSection页面。然后,我会得到您期望的结果,它是About页面,再次包含整个页面,包括mainSection div内的导航和所有内容。

0 个答案:

没有答案