Javascript RenderBody不渲染我的视图

Javascript RenderBody不渲染我的视图,javascript,jquery,asp.net-mvc,razor,Javascript,Jquery,Asp.net Mvc,Razor,嗨,我在一个有boostrap模板的网站上工作。我想要的是,当用户单击一个链接时,它将调用一个控制器函数,返回一个视图,并将焦点放在主体部分 要做到这一点,我有_布局与我的渲染体功能 <section id="bodySection"> @RenderBody() @Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/bootstrap") @RenderSection("scripts", required:

嗨,我在一个有boostrap模板的网站上工作。我想要的是,当用户单击一个链接时,它将调用一个控制器函数,返回一个视图,并将焦点放在主体部分

要做到这一点,我有_布局与我的渲染体功能

<section id="bodySection">
@RenderBody()
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
当我按下按钮时,焦点转到主体部分,控制器被调用,但主体部分仍保留旧视图。如果我检查这一页,就不会有任何错误。
有人能告诉我我的代码是怎么回事吗?

您的代码将无法工作,因为标记只是一个锚链接,它只会将页面滚动到#bodySection所在的位置,并向返回特定结果的服务执行$.post,但不会重定向到新页面

我会将您的链接更改为:

<a href="@Url.Action("Education", "Education")">Education</a>

然后将以下脚本添加到视图中,以使页面在每次加载时自动平滑滚动到定位点:

<script type="text/javascript">
    $("html,body").animate({
        scrollTop: $("#bodySection").offset().top
    }, 1000);
</script>

$(“html,body”).animate({
scrollTop:$(“#bodySection”).offset().top
}, 1000);

非常感谢,我想做一个平滑的滚动,我尝试了这个锚。ScrollingToView({block:“start”,behavior:“smooth”});但它只适用于firefox。你还有别的想法吗?是的!这就是我所需要的,我以前尝试过这个,但不知怎么的,它不起作用,只有一个问题,有没有一种方法可以对所有视图执行相同的操作,而无需在所有视图中编写最后一段代码?当然,是的,将该脚本包含在_布局本身中,就是这样(但前提是您确定所有视图的目标节都具有id为“bodySection”的目标节,否则控制台将抛出异常
    public ActionResult Education()
    {
       {...........}
        return View();
    }
<a href="@Url.Action("Education", "Education")">Education</a>
<script type="text/javascript">
    $("html,body").animate({
        scrollTop: $("#bodySection").offset().top
    }, 1000);
</script>