- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在 _Layout.cshtml
中是否可以确定将在 @RenderBody()
中呈现的 View ?
最佳答案
您可以通过 ((RazorView)ViewContext.View).ViewPath
您的需求示例:
<script type="text/javascript" src="~/Content/Scripts/@(Path.GetFileNameWithoutExtension(Server.MapPath(((RazorView)ViewContext.View).ViewPath))).js"></script>
如果您需要实际的 View (即 _Layout.cshtml),您可以改用 VirtualPath
。
旧答案看了你的评论,你想加一个
<script ...>...</script>
取决于 View 但在 @RenderBody()
之外?
然后放
@RenderSection("Scripts", required:false)
并在您的 View 中定义如下部分
@section Scripts {
<script ...>...</script>
}
因此您无需维护 _Layout.cshtml,因为每个 View 都定义了自己的脚本。
这是一个简单的解释:http://weblogs.asp.net/scottgu/asp-net-mvc-3-layouts-and-sections-with-razor
关于c# - 确定将要在@RenderBody() 中呈现的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30937120/
来自使用 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) {
我是一名优秀的程序员,十分优秀!