gpt4 book ai didi

javascript - RenderBody 未渲染我的 View

转载 作者:行者123 更新时间:2023-12-01 05:31:51 28 4
gpt4 key购买 nike

您好,我正在开发一个带有 boostrap 模板的网站。我想要的是,当用户单击链接时,它会调用 Controller 函数返回 View 并将焦点转移到正文部分。

为此,我使用 _Layout 和渲染主体函数

<section id="bodySection">
@RenderBody()
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)

还有一个调用函数并聚焦于正文的 href

  <a href="#bodySection" onclick="myFunction()">Education</a>

我的函数在 onclick 上触发:

<script type="text/javascript">
function myFunction() {
//alert("I am an alert box!");
$.post("@Url.Action("Education", "Education")");
}
</script>

还有我的 Controller

    public ActionResult Education()
{
{...........}
return View();
}

当我按下按钮时,焦点转到正文部分, Controller 被调用,但正文部分仍保留旧 View 。如果我检查页面,我不会收到任何错误。有人可以告诉我我的代码发生了什么吗?

最佳答案

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

我会将您的链接更改为:

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

然后将以下脚本添加到 View 中,以使页面每次加载时自动平滑滚动到 anchor :

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

关于javascript - RenderBody 未渲染我的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36764006/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com