Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The following sections have been defined but have not been rendered for the layout page "~/Views/Shared/SiteLayout.cshtml": "Scripts"

I have a simple view:

@model BootstrapTest4.Models.Account.CambioDeClave

@{
    Layout = "~/Views/Shared/SiteLayout.cshtml";
}

<h2>@Model.Title</h2>

@using (Html.BeginForm()) {
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true)

    <fieldset>

        <div class="editor-label">
            @Html.LabelFor(model => model.Pass1)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Pass1)
            @Html.ValidationMessageFor(model => model.Pass1)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Pass2)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Pass2)
            @Html.ValidationMessageFor(model => model.Pass2)
        </div>

        <p>
            <input type="submit" value="Cambiar Clave" />
        </p>
    </fieldset>
}

@section Scripts {
    @System.Web.Optimization.Scripts.Render("~/bundles/jqueryval")
}

this view was made via the Mvc4 scaffolding system (edit template) and since I use some dataannotations in my model it uses the Scripts Bundle.

the error I am getting is the following: The following sections have been defined but have not been rendered for the layout page "~/Views/Shared/SiteLayout.cshtml": "Scripts"

searching I found that most people solve the problem adding this to their layout:

    @if (IsSectionDefined("Scripts"))
{
    RenderSection("Scripts",false);
}

I added that block just before the tag of my layout but i still get the same error.

as requested: my whole Layout:

@model BootstrapTest4.Models.IMenu
@using BootstrapTest4.Utils.Helpers
@using BootstrapTest4.Utils
@{
    Layout = null;
}

    <!DOCTYPE html>


    @{
        Model.usr = (UsuarioWebCliente)Session["DatosUsr"];
        Model.usrDrogSelec = Html.DrogSeleccionada(Model.usr);
        var Lista = Html.GeneraComboDrogs2(Model.usr, Model.usrDrogSelec.cod_drogueria);
    }
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>@ViewBag.Title</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src="~/Scripts/jquery-1.9.1.js"></script>
        <script src="~/Scripts/bootstrap.js"></script>
        <!-- Bootstrap -->
        <link href="~/Content/bootstrap/bootstrap.css" rel="stylesheet" media="screen">
    </head>
    <body style="height: 100%;  ">
        <div class="wrapper">
            <div>
                <div id="whitebar">
                    <div class="container">
                        <div class="row">
                            <div class="col-md-6">

                            </div>
                            <div class="col-md-6" style="text-align: right">
                                @Model.usr.DatUsrs.desc_usuario - @Model.usr.DatUsrs.codigo_ident - @Html.ActionLink("Cerrar Sesion","Logout","Account")
                            </div>
                        </div>
                    </div>
                </div>
                <div id="bluebar">
                    <div class="container">
                        <div class="row">
                            <div class="col-md-4">
                                @Html.DropDownListFor(x => x.usr.DatUsrs.cod_drogueria, new SelectList(Lista, "Value", "Text"), new { @id = "DDLMENU", data_url = Url.Action("CambiarDrog", "Menu") })
                            </div>
                            <div class="col-md-3">
                                Monto Consumido:
                                <label id="SALDO">
                                    @(Model.usrDrogSelec.saldo_actual == 0 ? "0.00" : Convert.ToDecimal(Model.usrDrogSelec.saldo_actual).ToString("#,##.00"))
                                </label>

                            </div>
                            <div class="col-md-3">
                                Hora Corte: XXXXX
                            </div>
                            <div class="col-md-2">
                                Día Corte:
                                <label id="DIA">
                                    @Model.usrDrogSelec.dia_corte
                                </label>

                            </div>
                        </div>
                    </div>
                </div>
                <nav class="navbar navbar-default" role="navigation">
                    <!-- Brand and toggle get grouped for better mobile display -->
                    <div class="navbar-header">
                        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
                            <span class="sr-only">Toggle navigation</span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                        </button>
                        <a class="navbar-brand" href="#">
                            <img style="max-height: 20px;" src="~/Content/Images/1381797224_home.png" />
                        </a>
                    </div>
                    <div class="collapse navbar-collapse navbar-ex1-collapse">
                        <ul class="nav navbar-nav">
                            @foreach (var item in Model.MenuCollection)
                            {
                                <li class="dropdown">
                                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">@item.Name <b class="caret"></b></a>
                                    @if (item.Children.Count > 0)
                                    {
                                        <ul class="dropdown-menu">
                                            @foreach (var childItem in item.Children)
                                            {
                                                <li>@Html.ActionLink(childItem.Name, childItem.Action, childItem.Controller)</li>
                                            }
                                        </ul>
                                    }
                                </li>
                            }
                        </ul>
                        <ul class="nav navbar-nav navbar-right">
                            <li class="dropdown">
                                <a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-cog"></span><b class="caret"></b></a>
                                <ul class="dropdown-menu">
                                    <li>@Html.ActionLink("Droguería Principal","PrioridadDrogueria","ReportesPrioridadDrogueria")</li>
                                    <li><a href="#">Mensajería</a> </li>
                                    <li> @Html.ActionLink("Cambio de Clave", "CambiarClave", "Account")</li>
                                    <li><a href="#">Actualizar Datos</a></li>
                                </ul>
                            </li>
                        </ul>

                    </div>
                    <!-- /.navbar-collapse -->
                </nav>
                <div id="Content" style="height: 100%; ">
                    @RenderBody()
                </div>
            </div>
            <div class="push"></div>
        </div>
        <div class="footer">
            <div class="row">
                <div class="col-md-12 footer">Test</div>
            </div>
        </div>
        @if (IsSectionDefined("Scripts"))
    {
        RenderSection("Scripts",false);
    }
    </body>
    </html>
like image 637
mmilan Avatar asked Dec 03 '13 15:12

mmilan


2 Answers

Did you try only

RenderSection("Scripts",false);

Instead of

@if (IsSectionDefined("Scripts"))
{
    RenderSection("Scripts",false);
}
like image 108
TheSarfaraz Avatar answered Oct 20 '22 00:10

TheSarfaraz


You should just call RenderSection.

@RenderSection("Scripts", false)
like image 39
Ufuk Hacıoğulları Avatar answered Oct 19 '22 22:10

Ufuk Hacıoğulları