- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您好,我正在开发一个带有 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/
来自使用 ajax 的 webform 背景,我正在尝试使用 mvc 创建类似的内容。 我已经弄清楚了 Controller 、 View 和模型的作用。 我现在想做的是,当我的用户单击按钮时,会调用
我不确定我是否正确地处理了这个问题。 我有一个 ASP.NET MVC Web 应用程序。有 4 个主要“页面”通过单击菜单选项,可以选择一个页面,并将该页面选项存储在本地存储中。 现在,如果我刷新页
我试图在我的 _Layout.cshtml 中使用媒体查询来确定显示哪个导航栏。 在较大的设备上,我想使用 Bootstrap (col-2) 显示垂直导航栏,并且我想使用 RenderBody()
我有一个带有 JQuery UI Tabs 的 ASP.NET MVC 3 应用程序。我有一个主布局页面_layout.cshtml,代码如下。主 _layout.cshtml 需要 @RenderB
您好,我正在开发一个带有 boostrap 模板的网站。我想要的是,当用户单击链接时,它会调用 Controller 函数返回 View 并将焦点转移到正文部分。 为此,我使用 _Layout 和渲染
是否有这样的方法可以在 javascript 或 javascript 库中模拟 @RenderBody() ?我正在尝试启动一个新的 html/javascript 项目(无服务器端语言),并希望能
我正在使用 ASP.NET Core 2.2。我遇到的问题是我不知道在哪里使用@RenderBody() 在我的 _Layout 页面中。这是我想做的事情的代表: 绿色部分应该来自_Layout,白色
我有一个 ASP.NET MVC web 应用程序,其中的所有页面都使用一个主 Layout.cshtml 页面。虽然我通常想要 RenderBody(),但我有一个可以在我的数据库中启用的站点关闭机
我将 Canvas 加载到 _Layout.cshtml 上 当我从索引页面浏览到关于或联系方式时,正在显示,但页面内容丢失。 Index页面将加载 div在 下标记但是About页面缺少内容。 我
在 _Layout.cshtml 中是否可以确定将在 @RenderBody() 中呈现的 View ? 最佳答案 您可以通过 ((RazorView)ViewContext.View).ViewPa
在MVC/Razor语法中,我试图理解为什么我们需要@RenderBody。 例如(代码取自 example ) My WebSite
我有三个简单的布局, _Layout.cshtml (这是基本布局) @RenderSection("something", required: false) @RenderBody() _Main.
我正在使用 MVC 5。 我需要在加载每个页面之前调用一个函数。我是在 _Layout.cshtml View 中完成的: $(function () { $('body').on(
我正在用 MVC 构建一个在线商店,现在正在设计它,我下载了 2 个 bootstraps 模板,并尝试了每个模板,我将下载文件中索引中的代码复制到我的 _layout.cshtml ,在运行元素后我
我正在尝试这样做: @{
我使用属性来路由。这是否相关,我不知道。 当我不使用“路由”属性时,共享 Controller 中的 _Layaout() 操作不起作用但页面正在呈现。 public class SharedCont
默认情况下,MVC3 应用中_Layout.cshtml 中的@RenderBody 指向~/Views/Home/Index。 @RenderBody() 这个设置在哪里,我如何将它更改为指向
Code available here 在 ASP.NET Core 3.0 Web 应用程序中,我添加了以下简单的标记帮助器: [HtmlTargetElement("submit-button")
我有一个母版页,它使用 @RenderBody 来显示当前的 Controller \ Action 内容。我遇到了一种情况,我想根据使用@RenderBody 呈现的 Controller 来显示部
所以这是我的问题:我的 MVC 3 项目中有我的布局,其中包含所有 js 脚本: function mycarousel_initCallback(carousel) {
我是一名优秀的程序员,十分优秀!