2013-05-23 2 views
5

Lassen Sie uns sagen, ich habe diese Ansicht:Das Entfernen von Layout wird standardmäßig auf _ViewStart gesetzt. Warum wird der Abschnittsname nicht gefunden?

@model App.ViewModels.Unicorn 

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

<div id='#unicorns'>...</div> 

@section Scripts { 
    @Scripts.Render("~/bundles/unicorns") 
} 

Wenn die Layout in der Ansicht entfernt werden, es ist das Layout an die in der _ViewStart.cshtml Datei angegeben ein Standard dann, warum es über Cannot resolve section 'Scripts' sich beschwert?

EDIT: ich meine Abschnitt Seite auf meinem Layout zu tun haben:

@RenderSection("scripts", required: false) 

Bitte Sie beachten Sie, dies ist nicht Groß- und Kleinschreibung, da es bisher funktioniert mit die @section Scripts Groß 'S' und@RenderSection("scripts niedriger 's'.

+0

** Ich habe Resharper V6 installiert **, ich glaube nicht, dass es ein Nachschärfer Problem sein kann, deshalb habe ich es nicht markiert. – Esteban

+1

Haben Sie in diesem '~/Views/Shared/_Layout.cshtml' einen Abschnitt' Scripts' definiert? –

+0

Tut mir leid, ich habe es nicht erwähnt, aber natürlich tue ich, ich werde meine Antwort aktualisieren, um dies zu reflektieren. – Esteban

Antwort

3

Auch wenn .Net kümmert sich nicht um die Groß-/Kleinschreibung, die Resharper tut. Durch Ändern in Kleinbuchstaben wird das Problem behoben.

@section scripts { 
    @Scripts.Render("~/bundles/unicorns") 
} 
+8

Ab R # 8.0 scheint dies das Problem nicht zu beheben. –

+5

Das hat es auch nicht für mich repariert. Ich habe R # 8.1. Ich habe das gleiche Problem. Scheint zu erscheinen, als ich meine NuGet-Pakete für die Razor-Engine aktualisiert habe. Hat jemand eine Lösung? –

Verwandte Themen