gpt4 book ai didi

c# - 确定将要在@RenderBody() 中呈现的 View

转载 作者:太空狗 更新时间:2023-10-29 22:15:56 26 4
gpt4 key购买 nike

_Layout.cshtml 中是否可以确定将在 @RenderBody() 中呈现的 View ?

最佳答案

您可以通过 ((RazorView)ViewContext.View).ViewPath

获取 View (即 Index.cshtml)

您的需求示例:

<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/

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