MVC, Razor @section ne comprend pas les Scripts

J'ai:

  • VS 2013
  • MVC 5.2.2
  • Rasoir 3.2.2

Laissez-moi savoir si il ya quelque chose que vous devez savoir.

Ce problème se produit uniquement sur un point de vue page.

J'ai Vue avec toutes les balises HTML fermé correctement

C'est votre vue standard...

@model MyNameSpace.Models.Inquiry

@{
    var hasFormSetup = Model != null && Model.FormSetup != null && Model.FormSetup.Count > 0;
    if (hasFormSetup)
    {
        ViewBag.Title = Model.FormSetup[0].InquiryValue;
    }
    Layout = "~/Views/Shared/_LayoutInquiry.cshtml";
}

<style scoped>
    ul {
        list-style-type: none;
    }
</style>

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

    <div class="container" style="margin-top: 5px;">
        etc...
    </div>
    <div class="container" >
        etc...
    </div>

}


@section Scripts
{

    <script type="text/javascript">

            $(document).ready(function () {

    etc...

            });


    </script>
}

mais...

sur la ligne

@section Scripts

Resharper rapports: "Impossible de résoudre la section" Scripts de

Quand je le lance, j'obtiens l'exception:

Source: System.Web.WebPages
Target: Void VerifyRenderedBodyOrSections()
Type:   HttpException
Message:    The following sections have been defined but have not been rendered for the layout page "~/Views/Shared/_LayoutInquiry.cshtml": "Scripts".
Stack:     at System.Web.WebPages.WebPageBase.VerifyRenderedBodyOrSections()
   at System.Web.WebPages.WebPageBase.PopContext()
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   at System.Web.WebPages.WebPageBase.<>c__DisplayClass3.<RenderPageCore>b__2(TextWriter writer)
   at System.Web.WebPages.HelperResult.WriteTo(TextWriter writer)
   at System.Web.WebPages.WebPageBase.Write(HelperResult result)
   at System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action`1 body)
   at System.Web.WebPages.WebPageBase.PopContext()
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
   at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
   at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
   etc...

Aucune autre page a cette question.

Aucune idée de comment je peux résoudre ce problème?

  • Est-ce que votre _LayoutInquiry.cshtml page ont un Scripts section? S'il vous plaît ajouter le fichier à votre question. Il devrait avoir @RenderSection("Scripts", false), à un endroit approprié à l'intérieur. (Le message dit tout: Les sections suivantes ont été définies, mais n'ont pas été rendus pour la mise en page "~/Views/Shared/_LayoutInquiry.cshtml": "Scripts".)
  • omg. Je me sens tellement comme un doofus. Merci d'ajouter ce que une réponse et je vais vous donner les points... Vous savez ce qu'il fait quand cela se produit? Vous obtenez l'ensemble du corps dupliquées sans aucune source de données - afin que votre page d'erreur par défaut s'affiche en bas de votre page...