Heim Web-Frontend js-Tutorial Bringen Sie Ihnen bei, wie Sie die .Net MVC Razor-Syntax in Javascript-Dateien verwenden_Javascript-Kenntnisse

Bringen Sie Ihnen bei, wie Sie die .Net MVC Razor-Syntax in Javascript-Dateien verwenden_Javascript-Kenntnisse

May 16, 2016 pm 04:41 PM
javascript

Ich glaube, jeder hat versucht, Javascript in einer Ansicht zu verschachteln. Derzeit können Sie einige .NET-Methoden direkt mit der Razor-Syntax aufrufen. Beispielsweise ist der folgende Code in einer Razor-Ansicht verschachtelt:

1

2

3

4

5

<script>

 var currDate = '@DateTime.Now'; //直接调用.NET的方法

  

 console.log(currDate)

</script>

Nach dem Login kopieren

Eine andere Situation ist jedoch, dass die obige Methode nicht möglich ist, wenn ich Razor in einer unabhängigen JS-Datei verwenden möchte, da MVC die JS-Datei nicht direkt interpretiert und nur in der Razor-Ansicht platziert werden kann. Hier empfehle ich jedoch eine Bibliothek eines Drittanbieters, mit der Sie Razor direkt in einer eigenständigen JS-Datei verwenden können


Der Name dieser Art von Bibliothek ist RazorJS. Dies ist ein Open-Source-Projekt. Sie können den Quellcode unter der folgenden Adresse herunterladen

https://bitbucket.org/djsolid/razorjs

Oder Sie können es direkt über Nuget installieren:

1

PM> Install-Package RazorJS

Nach dem Login kopieren
Okay, lassen Sie uns zunächst darüber sprechen, was uns diese Klassenbibliothek bringen kann. Nach der Installation können Sie alle von .NET unterstützten Methoden direkt in JS-Dateien verwenden. Beispielsweise kann der obige Code zur Verwendung direkt in eine separate JS-Datei eingefügt werden. Darüber hinaus können Sie in der JS-Datei auch auf den vollständigen Namespace von .NET verweisen. Wenn Sie das File-Objekt aufrufen möchten, um den Inhalt der Textdatei zu lesen, können Sie direkt auf den System.IO-Namespace verweisen:

1

2

3

@using System.IO;

  

var s = 'Hello at @DateTime.Now \n @File.ReadAllText(System.Web.Hosting.HostingEnvironment.MapPath("~/web.config"))';

Nach dem Login kopieren
Nach der Ausführung können Sie den gesamten Inhalt der web.config-Datei direkt in JS abrufen. Es sieht ziemlich gut aus, haha. Wie genau funktionieren solche Bibliotheken? Tatsächlich wird eine Klassenbibliothek namens RazorEngine verwendet, um die oben genannten Effekte zu erzielen. RazorEngine ist eine sehr leistungsstarke Razor-Interpretations-Engine, die ich bereits in einigen Projekten verwendet habe. Mit dieser Engine können Sie die Razor-Syntax sogar direkt in Win-Form verwenden. Haben Sie jemals über die Vorteile nachgedacht?

Nun, das ist gut. Mit dieser Engine können Sie MVCs Razor völlig unabhängig von der Webumgebung verwenden. Mit dieser Funktion können Sie ganz einfach einige flexible Vorlagen erstellen, z. B. einige E-Mail-Vorlagen. Verwenden Sie verschiedene .NET-Methoden oder sogar benutzerdefinierte Objekte und generieren Sie dynamisch, was Sie wollen. OK, aber diese Engine ist nicht das, was ich dieses Mal vorstellen möchte. Ich spreche hier nur darüber

Lassen Sie uns als Nächstes darüber sprechen, wie Sie RazorJS verwenden. Wenn Sie es direkt über Nuget installieren, wird web.config automatisch für Sie konfiguriert. Andernfalls müssen Sie es selbst zu web.config hinzufügen. Es gibt mehrere Stellen in der Konfiguration, die hier nicht näher beschrieben werden. Sie können sie nach der Installation vergleichen. Die Verwendung von RazorJS ist ebenfalls sehr einfach. Verwenden Sie einfach die folgende Syntax, um auf die gewünschte JS-Datei zu verweisen:

1

2

3

<p>

 @Html.RazorJSInline("~/Scripts/Example.js")

</p>

Nach dem Login kopieren
Beachten Sie jedoch, dass in Ihrer web.config ein Verzeichnis konfiguriert ist, das die Verwendung von RazorJS ermöglicht. Das bedeutet, dass Ihre JS-Dateien in diesem Verzeichnis abgelegt werden müssen, bevor sie mit dieser Methode referenziert werden können:

1

2

3

4

5

<razorJSSettings handlerPath="~/razorjs.axd">

 <allowedPaths>

 <add path="~/Scripts" />

 </allowedPaths>

 </razorJSSettings>

Nach dem Login kopieren
Das Letzte, worüber ich sprechen möchte, sind seine Grenzen. Natürlich gibt es Vor- und Nachteile. Da RazorEngine verwendet wird, können Sie in JS nicht die HTML-Hilfsmethoden verwenden, d. h. alle Methoden, die mit @Html beginnen. Ein weiteres Problem besteht darin, dass der Kommentarcode in JS nicht erkannt wird. Das heißt, wenn Sie .NET-Methoden in Kommentaren verwenden, wird er trotzdem ausgeführt JS wird unterbrochen und ein Fehler wird direkt gemeldet. Denken Sie also nicht, dass das bloße Auskommentieren nutzloser Methoden ausreicht.

Bezüglich des Problems, dass der @Html-Helper nicht ausgeführt werden kann, stelle ich hier eine andere Lösung zur Verfügung, aber diese kann den Quellcode ändern. Freunde, die sich damit anlegen möchten, können es versuchen. Tatsächlich können Sie hierfür auch viele benutzerdefinierte Methoden verwenden, was flexibler und bequemer ist. Nachdem Sie den RazorJS-Quellcode heruntergeladen haben, können Sie ihn direkt ändern und eine DLL neu kompilieren. Eine andere Methode besteht darin, den Quellcode als ein anderes Projekt zu behandeln und ihn direkt Ihrem eigenen Projekt hinzuzufügen.

Öffnen Sie im Quellcode die Datei HtmlTemplateBase.cs. Sie können hier Ihre eigenen Methoden hinzufügen und die hier hinzugefügten Methoden können direkt in JS aufgerufen werden. Im Quellcode finden Sie beispielsweise eine gekapselte Href-Methode, die die URL in eine URL umwandelt, die auf dem anfordernden Client verfügbar ist. Gemäß dieser Schreibmethode können wir unsere eigenen Methoden hinzufügen. Im Folgenden kapsele ich beispielsweise eine Methode zum dynamischen Abrufen internationalisierter Ressourcendateien, sodass .NET-Ressourcendateien direkt in JS für die Internationalisierung verwendet werden können:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

public class HtmlTemplateBase : TemplateBase

 {

 //手工调用资源文件管理器

 private static ResourceManager resources = (ResourceManager)System.Type.GetType

  ("RazorJS.Resource").GetProperty("ResourceManager").GetValue(null, null);

  

 public HtmlTemplateBase()

 {

  Url = new UrlHelper(HttpContext.Current.Request.RequestContext);

 }

 public string Href(string originalUrl)

 {

  return Extensions.ResolveUrl(originalUrl);

 }

  

 public string GetLangText(string langKey)

 {

  根据key返回相关的语言

  return resources.GetString(langKey);

 }

  

 public UrlHelper Url { get; set; }

 }

Nach dem Login kopieren
Dann rufen Sie es einfach direkt in JS auf:

1

2

var s = '@GetLangText("CoderBlog")';

console.log(s);

Nach dem Login kopieren
Nach dem Ausführen können Sie den Inhalt des CoderBlog-Schlüssels direkt in JS eingeben

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So implementieren Sie ein Online-Spracherkennungssystem mit WebSocket und JavaScript So implementieren Sie ein Online-Spracherkennungssystem mit WebSocket und JavaScript Dec 17, 2023 pm 02:54 PM

So implementieren Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem. Einführung: Mit der kontinuierlichen Weiterentwicklung der Technologie ist die Spracherkennungstechnologie zu einem wichtigen Bestandteil des Bereichs der künstlichen Intelligenz geworden. Das auf WebSocket und JavaScript basierende Online-Spracherkennungssystem zeichnet sich durch geringe Latenz, Echtzeit und plattformübergreifende Eigenschaften aus und hat sich zu einer weit verbreiteten Lösung entwickelt. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem implementieren.

WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen Dec 17, 2023 pm 05:30 PM

WebSocket und JavaScript: Schlüsseltechnologien zur Realisierung von Echtzeit-Überwachungssystemen Einführung: Mit der rasanten Entwicklung der Internet-Technologie wurden Echtzeit-Überwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Eine der Schlüsseltechnologien zur Erzielung einer Echtzeitüberwachung ist die Kombination von WebSocket und JavaScript. In diesem Artikel wird die Anwendung von WebSocket und JavaScript in Echtzeitüberwachungssystemen vorgestellt, Codebeispiele gegeben und deren Implementierungsprinzipien ausführlich erläutert. 1. WebSocket-Technologie

Verwendung von JavaScript und WebSocket zur Implementierung eines Echtzeit-Online-Bestellsystems Verwendung von JavaScript und WebSocket zur Implementierung eines Echtzeit-Online-Bestellsystems Dec 17, 2023 pm 12:09 PM

Einführung in die Verwendung von JavaScript und WebSocket zur Implementierung eines Online-Bestellsystems in Echtzeit: Mit der Popularität des Internets und dem Fortschritt der Technologie haben immer mehr Restaurants damit begonnen, Online-Bestelldienste anzubieten. Um ein Echtzeit-Online-Bestellsystem zu implementieren, können wir JavaScript und WebSocket-Technologie verwenden. WebSocket ist ein Vollduplex-Kommunikationsprotokoll, das auf dem TCP-Protokoll basiert und eine bidirektionale Kommunikation zwischen Client und Server in Echtzeit realisieren kann. Im Echtzeit-Online-Bestellsystem, wenn der Benutzer Gerichte auswählt und eine Bestellung aufgibt

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript Dec 17, 2023 am 09:39 AM

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript. Im heutigen digitalen Zeitalter müssen immer mehr Unternehmen und Dienste Online-Reservierungsfunktionen bereitstellen. Es ist von entscheidender Bedeutung, ein effizientes Online-Reservierungssystem in Echtzeit zu implementieren. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Reservierungssystem implementieren, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist WebSocket? WebSocket ist eine Vollduplex-Methode für eine einzelne TCP-Verbindung.

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Dec 17, 2023 pm 05:13 PM

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Einführung: Heutzutage ist die Genauigkeit von Wettervorhersagen für das tägliche Leben und die Entscheidungsfindung von großer Bedeutung. Mit der Weiterentwicklung der Technologie können wir genauere und zuverlässigere Wettervorhersagen liefern, indem wir Wetterdaten in Echtzeit erhalten. In diesem Artikel erfahren Sie, wie Sie mit JavaScript und WebSocket-Technologie ein effizientes Echtzeit-Wettervorhersagesystem aufbauen. In diesem Artikel wird der Implementierungsprozess anhand spezifischer Codebeispiele demonstriert. Wir

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Jan 05, 2024 pm 06:08 PM

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

So verwenden Sie insertBefore in Javascript So verwenden Sie insertBefore in Javascript Nov 24, 2023 am 11:56 AM

Verwendung: In JavaScript wird die Methode insertBefore() verwendet, um einen neuen Knoten in den DOM-Baum einzufügen. Diese Methode erfordert zwei Parameter: den neuen Knoten, der eingefügt werden soll, und den Referenzknoten (d. h. den Knoten, an dem der neue Knoten eingefügt wird).

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Bildverarbeitungssystems JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Bildverarbeitungssystems Dec 17, 2023 am 08:41 AM

JavaScript ist eine in der Webentwicklung weit verbreitete Programmiersprache, während WebSocket ein Netzwerkprotokoll für die Echtzeitkommunikation ist. Durch die Kombination der leistungsstarken Funktionen beider können wir ein effizientes Echtzeit-Bildverarbeitungssystem erstellen. In diesem Artikel wird erläutert, wie dieses System mithilfe von JavaScript und WebSocket implementiert wird, und es werden spezifische Codebeispiele bereitgestellt. Zunächst müssen wir die Anforderungen und Ziele des Echtzeit-Bildverarbeitungssystems klären. Angenommen, wir haben ein Kameragerät, das Bilddaten in Echtzeit sammeln kann

See all articles