Je suis assez confus avec la façon de mélanger le rasoir et js. C'est la fonction actuelle avec laquelle je suis coincé:
<script type="text/javascript">
var data = [];
@foreach (var r in Model.rows)
{
data.Push([ @r.UnixTime * 1000, @r.Value ]);
}
Si je pouvais déclarer le code c # avec <c#></c#>
et que tout le reste était du code JS - ce serait ce que je suis après:
<script type="text/javascript">
var data = [];
<c#>@foreach (var r in Model.rows) {</c#>
data.Push([ <c#>@r.UnixTime</c#> * 1000, <c#>@r.Value</c#> ]);
<c#>}</c#>
Quelle est la meilleure méthode pour y parvenir?
Utilisez <text>
:
<script type="text/javascript">
var data = [];
@foreach (var r in Model.rows)
{
<text>
data.Push([ @r.UnixTime * 1000, @r.Value ]);
</text>
}
</script>
À l'intérieur d'un bloc de code (par exemple, @foreach
), vous devez marquer le balisage (ou, dans ce cas, Javascript) avec @:
ou la balise <text>
.
Dans les contextes de balisage, vous devez entourer le code avec des blocs de code (@{ ... }
ou @if
, ...).
vous pouvez aussi simplement utiliser
<script type="text/javascript">
var data = [];
@foreach (var r in Model.rows)
{
@:data.Push([ @r.UnixTime * 1000, @r.Value ]);
}
</script>
remarque @:
Ne mélangez jamais plus de langues.
<script type="text/javascript">
var data = @Json.Encode(Model); // !!!! export data !!!!
for(var prop in data){
console.log( prop + " "+ data[prop]);
}
vous pouvez utiliser la balise <text>
pour le code cshtml avec javascript