Как использовать Razor, как визуализировать переменную Boolean для JavaScript?

Как визуализировать переменную Boolean для JavaScript в файле cshtml?

В настоящее время это показывает синтаксическую ошибку:

<script type="text/javascript" >

    var myViewModel = {
        isFollowing: @Model.IsFollowing  // This is a C# bool
    };
</script>

Ответ 1

Вы также можете попробовать:

isFollowing: '@(Model.IsFollowing)' === '@true'

и лучший способ - использовать:

isFollowing: @Json.Encode(Model.IsFollowing)

Ответ 2

Логическое значение JSON должно быть строчным.

Поэтому попробуйте это (и убедитесь, что nto имеет комментарий // в строке):

var myViewModel = {
    isFollowing: @Model.IsFollowing.ToString().ToLower()
};

Или (обратите внимание: вам нужно использовать пространство имен System.Xml):

var myViewModel = {
    isFollowing: @XmlConvert.ToString(Model.IsFollowing)
};

Ответ 3

Поскольку поиск привел меня сюда: в ядре ASP.NET IJsonHelper не имеет метода Encode(). Вместо этого используйте Serialize(). Например:.

isFollowing: @Json.Serialize(Model.IsFollowing)    

Ответ 5

Вот еще один вариант рассмотреть, используя!! преобразование в boolean.

isFollowing: !!(@Model.IsFollowing ? 1 : 0)

На клиентской стороне будет создано следующее: 1 преобразуется в true и 0 в false.

isFollowing: !!(1)  -- or !!(0)

Ответ 6

Решение, которое легче читать, заключается в следующем:

isFollowing: @(Model.IsFollowing ? "true" : "false")