Ich möchte eine Javascript-Referenz wie folgt einfügen:
<script src="@Url.Content("~/Scripts/jqueryFoo.js")" type="text/javascript"></script>
Wenn ich eine Rasiermesseransicht habe, wie kann ich diese richtig einfügen, ohne sie dem Layout hinzufügen zu müssen (ich benötige sie nur in einer bestimmten Ansicht, nicht in allen)?
In aspx könnten wir Inhaltsplatzhalter verwenden. Ich habe ältere Beispiele mit aspx in mvc gefunden, aber nicht in der Razor-Ansicht.
asp.net-mvc
razor
Dferraro
quelle
quelle
Antworten:
Abhängig davon, wie Sie es implementieren möchten (wenn es einen bestimmten Speicherort gab, an dem Sie die Skripte haben wollten), können Sie ein
@section
in Ihrem implementieren, mit_Layout
dem Sie zusätzliche Skripts aus der Ansicht selbst hinzufügen können, während die Struktur erhalten bleibt. z.B_Layout
Aussicht
Ansonsten ist das, was Sie haben, in Ordnung. Wenn es Ihnen nichts ausmacht, dass es mit der ausgegebenen Ansicht "inline" ist, können Sie die
<script>
Deklaration in die Ansicht einfügen.quelle
RenderSection("Scripts")
Ihrem Layout hinzufügen (wie bei einem Platzhalter) und dann ein Layout@section Scripts {}
in der Ansicht definieren. Irgendwann steht eine Änderung des "Masters" (_layout) unmittelbar bevor. Sie können nicht einfach etwas in einer Ansicht definieren und sagen, dass es<head>
für mich dazwischen liegt (es sei denn, Sie möchten in ein Skript einsteigen, das ein Skript hinzufügt)Scripts
Ordner befindet, müssen Sie möglicherweise auch den Zugriff darauf aktivierenWenn Sie die Razor View Engine verwenden, bearbeiten Sie die Datei _Layout.cshtml. Verschieben Sie das in der Fußzeile vorhandene @ Scripts.Render ("~ / bundles / jquery") in den Header-Bereich und schreiben Sie den Javascript / jquery-Code wie gewünscht:
quelle
Sie können die Skript-Tags hinzufügen, wie wir sie in asp.net verwenden, während Sie clientseitige Überprüfungen wie unten durchführen.
quelle
type="text/javascript"
wird nicht benötigt