La combinaison de Razor et du code JavaScript
Mélanger le code Razor et JavaScript est une technique très utile dans les applications ASP.NET Core. Un scénario courant est celui où vous devez générer des données dynamiques à partir du code C# et les transmettre à un tableau JavaScript.
Une solution consiste à utiliser des extraits de code en ligne et des balises <c>
et </c>
, comme vous l'avez mentionné dans votre question :
<code class="language-csharp"> var data = []; <c#>@foreach (var r in Model.rows) {#> data.push([ <c#>@r.UnixTime#> * 1000, <c#>@r.Value#> ]); <c#>}#></code>
Cependant, il existe un moyen plus simple et plus direct d'utiliser la balise <text>
:
<code class="language-csharp"> var data = []; @foreach (var r in Model.rows) { <text> data.push([ @r.UnixTime * 1000, @r.Value ]); </text> }</code>
<text>
vous permet d'intégrer n'importe quel code C# sous forme de texte brut dans du code HTML ou JavaScript. Cette approche est plus concise et plus facile à lire, surtout lorsque vous travaillez avec des morceaux de code plus longs.
Lors de l'utilisation de la balise <text>
, il est important de noter que toutes les nouvelles lignes ou espaces dans le code C# seront conservés dans le code JavaScript généré. Si vous n'avez pas besoin de conserver ces nouvelles lignes ou espaces, vous pouvez utiliser l'instruction String.Join
ou d'autres techniques de manipulation de chaînes pour formater la sortie.
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!