您好我正在使用boostrap模板工作。我想要的是当用户点击一个链接时,它会调用一个控制器函数返回一个视图并将焦点转移到body部分。
要做到这一点,我有_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>
我的控制器
public ActionResult Education()
{
{...........}
return View();
}
当我按下按钮时,焦点转到主体部分,控制器被调用,但是主体部分保留旧视图。如果我检查页面,我不会得到任何错误。 有人可以告诉我我的代码是怎么回事吗?
答案 0 :(得分:0)
您的代码无效,因为标记只是一个锚链接,它只将页面滚动到#bodySection所在的位置并对返回特定结果的服务执行$ .post,但不会重定向到新页面。
我会将您的链接更改为:
<script type="text/javascript">
$("html,body").animate({
scrollTop: $("#bodySection").offset().top
}, 1000);
</script>
然后将以下脚本添加到视图中,以便每次加载时页面自动平滑滚动到锚点:
select * from table