2012-09-27 6 views
7

Ich arbeite an einer asp.net MVC4-Anwendung. In meiner Layoutseite, ich den folgenden CodeMVC4 mit Abschnitten, die Javascript enthalten

@RenderSection("page-specific", required: false) 

und Meiner Ansicht nach habe das das obige Layout verwendet, ich habe

@section page-specific{ 
    <script src="~/Scripts/page-specific.js" type="text/javascript"></script> 
} 

Wenn ich meine Anwendung ausführen, gibt es mir die folgenden Fehler

Abschnitte können nicht leer sein. Auf das Keyword "@section" muss ein Markupblock folgen, der von "{}" umgeben ist.

Aber alles, was ich tun möchte, ist einige seitenspezifische Stile und Javascript. Ich möchte in diesem speziellen Abschnitt kein HTML-Markup einfügen. Wie kann ich dies tun, während der Leerstellenfehler vermieden wird?

+0

ein Skript-Tag * IS * Markup. Da muss noch etwas anderes los sein. Sind Sie sicher, dass Sie den richtigen Code sehen? –

Antwort

8

Versuchen Sie, es zu benennen pageSpecific. Ich habe noch nicht versucht, einen Bindestrich in einem Abschnittsnamen zu verwenden, aber ich habe das Gefühl, dass mvc das nicht mag.

+1

Das hat den Trick gemacht! Anscheinend sind Bindestriche in Abschnittsnamen nicht zulässig. Ich wünschte, der Fehler wäre beschreibender. Oh, ich lerne immer etwas Neues jeden Tag. –

+0

Froh, dass es behoben. Ich habe überall nach den Namensanforderungen für einen Abschnitt gesucht und konnte nichts finden. Ich nehme an, dass Sie die gleichen Benennungsregeln wie eine Variable in Ihrem C#/VB-Code befolgen müssen (als wenn Sie keine reservierten Wörter oder ungültige Zeichen verwenden). – Gromer

Verwandte Themen