asp.net - 以下部分已定义但尚未为布局页面呈现 “~/Views/Shared/_Layout.cshtml” : “featured”

标签 asp.net asp.net-mvc razor asp.net-web-api

我知道有很多关于这个错误的问题,并且总是有关于

@RenderSection("scripts", required: false)

但是我的 _Layout.cshtml 文件中没有该部分。
我的文件:
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>@ViewBag.Title</title>
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")"></script>
    <script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")"></script>
</head>
<body>
    <ul id="menu">
        <li>@Html.ActionLink("Główna", "Index", "Home")</li>
        <li>@Html.ActionLink("Uzytkownicy", "Index", "Database")</li>
        <li>@Html.ActionLink("O systemie", "About", "Home")</li>
    </ul>
    <section id="main">
        @RenderBody()
        <p>Copyright 2015. All Rights Reserved.</p>
    </section>
</body>
</html>

我试过了:
  • 在@RenderBody() 上输入“脚本”,必需:false,
  • 从 head 部分中删除脚本
  • 将 @RenderSection("scripts", required: false) 放在脚本上方的 head 部分。

  • 这些都没有帮助我。

    最佳答案

    部分就像您在布局中定义的占位符,并从您的特定 View 中注入(inject)一些真实的内容。当页面运行时,您从页面的section传递的内容将被注入(inject)到RenderSection()的地方。在您的布局中调用。

    看起来您的 View 正在通过 featured 传递一些东西部分,但您的布局没有“特色”部分的定义。因此,您需要将其添加到布局文件中

    <body>
        <section id="main">
    
            @RenderBody()
    
            @RenderSection("featured", required: false)
    
        </section>
    </body>
    

    或删除featured section从您的特定 View 代码。

    您可能需要保留 @RenderSection("scripts",required:false)在您的布局中,这将帮助您从您的特定 View 中包含特定于页面的 javascript。

    关于asp.net - 以下部分已定义但尚未为布局页面呈现 “~/Views/Shared/_Layout.cshtml” : “featured” ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34888969/

    相关文章:

    asp.net - 如何使用外部登录提供程序创建刷新 token ?

    asp.net - 重定向页面而不丢失 SEO

    c# - 从数据库编码 URL 查询字符串

    asp.net - 带有控制台应用程序的 Windows 调度程序 API 与带有 asp.net mvc 的 .net 调度程序工具,用于在我的 asp.net MVC 中执行长时间运行的进程

    c# - Fluent 验证规则、子集和嵌套

    c# - 如何从 ASP.NET Web 服务返回原始字节?

    c# - 更改 ASP.NET MVC 项目命名空间后出现编译错误?

    asp.net-mvc - ASP.NET MVC Razor 内容占位符

    angularjs - 在 ASP.NET MVC 中使用带有 TextBoxFor 的 Angular 属性

    c# - 在一个命名空间下的多个子文件夹中重新组合 Razor 组件 - Blazor