Обновить переменную Razor из функции javascript - PullRequest
0 голосов
/ 04 февраля 2020

Я новичок в использовании Razor, и теперь я пытаюсь обновить переменную Razor из функции javascript. Например:

@{
    bool myVariable = false;
}

<script type="text/javascript">

    function Foo() {
       if (some_condition)
       {
          @myVariable = true;
       }
    }

</script>

@if (myVariable)
{
   <div>
      <!-- stuff -->
   </div>
}

Возможно ли это? Если да, то как я могу это сделать?

1 Ответ

2 голосов
/ 04 февраля 2020

@myVariable - это переменная на стороне сервера, которая получает свое значение от сервера перед отображением страницы

@myVariable выведет значение переменной, не назначенной ей,

, поэтому вывод @myVariable = true; будет

false = true;

, используйте ajax для получения контента с сервера

@{
    bool myVariable = false;
}

<script type="text/javascript">

    function Foo() {
       if (some_condition)
       {
          $('#newContent').load('/News/GetLatest/10'); // call ajax to get content
       }
    }

</script>

   <div id="newContent">
      <!-- stuff -->
   </div>

или вы можете показывать div, только если условие выполняется на стороне клиента

@{
    bool myVariable = false;
}

<script type="text/javascript">
    var showContent = @myVariable; // false

    function Foo() {
       if (some_condition)
       {
          showContent = true;
          $('#newContent').show(); // show it
       }
    }

</script>

   <div id="newContent" style="display: none;"> <!-- hidden by default -->
      <!-- stuff -->
   </div>
...