Mélanger le code Razor et JavaScript dans les balises de script
Lorsque vous mélangez du code Razor et du code JavaScript, mélanger des instructions C# brutes et du JavaScript dans des balises de script peut être délicat. Considérez le scénario suivant :
<code class="language-csharp"> var data = []; @(foreach (var r in Model.rows) { data.push([ r.UnixTime * 1000, r.Value ]); })</code>
L'objectif est de parcourir une collection C# et de pousser les valeurs dans un tableau JavaScript. Cependant, cette approche n’est pas réalisable en raison de conflits de syntaxe.
Solution :
Une alternative consiste à utiliser la directive @text
, qui vous permet de générer du texte brut sans aucun échappement ni encodage HTML :
<code class="language-csharp"> var data = []; @foreach (var r in Model.rows) { <text> data.push([ @r.UnixTime * 1000, @r.Value ]); </text> }</code>
@text
permet d'inclure du code C# brut dans le cadre d'un script JavaScript, combinant de manière transparente les deux langages au sein de la balise script.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!