Ответ 1
Вы также можете попробовать:
isFollowing: '@(Model.IsFollowing)' === '@true'
и лучший способ - использовать:
isFollowing: @Json.Encode(Model.IsFollowing)
Как визуализировать переменную Boolean для JavaScript в файле cshtml?
В настоящее время это показывает синтаксическую ошибку:
<script type="text/javascript" >
var myViewModel = {
isFollowing: @Model.IsFollowing // This is a C# bool
};
</script>
Вы также можете попробовать:
isFollowing: '@(Model.IsFollowing)' === '@true'
и лучший способ - использовать:
isFollowing: @Json.Encode(Model.IsFollowing)
Логическое значение JSON должно быть строчным.
Поэтому попробуйте это (и убедитесь, что nto имеет комментарий //
в строке):
var myViewModel = {
isFollowing: @Model.IsFollowing.ToString().ToLower()
};
Или (обратите внимание: вам нужно использовать пространство имен System.Xml
):
var myViewModel = {
isFollowing: @XmlConvert.ToString(Model.IsFollowing)
};
Поскольку поиск привел меня сюда: в ядре ASP.NET IJsonHelper
не имеет метода Encode()
. Вместо этого используйте Serialize()
. Например:.
isFollowing: @Json.Serialize(Model.IsFollowing)
var myViewModel = {
isFollowing: '@(Model.IsFollowing)' == "True";
};
Почему True
а не True
вы спрашиваете... Хороший вопрос:
Почему вывод Boolean.ToString "True" и не "истина"
Вот еще один вариант рассмотреть, используя!! преобразование в boolean.
isFollowing: !!(@Model.IsFollowing ? 1 : 0)
На клиентской стороне будет создано следующее: 1 преобразуется в true и 0 в false.
isFollowing: !!(1) -- or !!(0)
Решение, которое легче читать, заключается в следующем:
isFollowing: @(Model.IsFollowing ? "true" : "false")