c# - use - razor w3




Misture Razor e Javascript (4)

Estou muito confuso com a forma de misturar navalha e js. Esta é a função atual com a qual estou preso:

<script type="text/javascript">

        var data = [];

        @foreach (var r in Model.rows)
        {
                data.push([ @r.UnixTime * 1000, @r.Value ]);
        }

Se eu pudesse declarar código c # com <c#></c#> e todo o resto era código JS - isso seria o que eu sou depois:

<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#>

Qual é o melhor método para conseguir isso?


Dentro de um bloco de código (por exemplo, @foreach ), você precisa marcar a marcação (ou, neste caso, Javascript) com @: ou a tag <text> .

Dentro dos contextos de marcação, você precisa cercar o código com blocos de código ( @{ ... } ou @if , ...)


Embrulhe seu código Razor em @ {} quando estiver dentro do script JS e esteja ciente de usar apenas @ Às vezes, não funciona:

function hideSurveyReminder() {
       @Session["_isSurveyPassed"] = true;
    }

Isso produzirá

function hideSurveyReminder() {
       False = true;
    }

no navegador = (


Use <text> :

<script type="text/javascript">

   var data = [];

   @foreach (var r in Model.rows)
   {
      <text>
            data.push([ @r.UnixTime * 1000, @r.Value ]);
      </text>
   }
</script>

você pode usar a tag <text> para o código cshtml com javascript





razor