Как получить доступ к переменной razor внутри файла javascript?

#javascript #c# #razor

Вопрос:

У меня есть страница razor, которая захватывает логическое значение из некоторого кода c#, например

 var changeCondition = @bool.Parse(Settings["changeCondition"] ?? "true");
 

Я должен использовать эту переменную один раз в файле javscript во время оператора if, в идеале что-то вроде

 if (changeCondition) {
     run this
}
 

Но я почти ничего не знаю о javascript. Я просмотрел еще несколько вопросов, и они не имели для меня особого смысла. Есть ли какой-либо способ получить значение переменной в javascript либо непосредственно с c#, либо со страницы razor? Не внося в него никаких изменений, просто нужно знать его ценность. Я был бы признателен за очень подробное объяснение, потому что я не знаю очень многих концепций js.

Ответ №1:

Вы можете создать переменную, подобную этой

 <script type="text/javascript">
    var changeCondition = @bool.Parse(Settings["changeCondition"] ?? "true");
    if (changeCondition) {
      run this;
    }
</script>
 

Ответ №2:

Я нашел ответ, который сработал для меня. В файле cshtml уже был раздел, определенный как

 @section scripts{
     ...
     var changeCondition = @bool.Parse(Settings["changeCondition") ?? "true");
}
 

со многими переменными внутри него. Я просто добавил свою переменную в конце и смог ссылаться на нее непосредственно в файле javascript