Como processar um booleano em uma variável JavaScript em um arquivo cshtml?
Atualmente, isso mostra um erro de sintaxe:
<script type="text/javascript" >
var myViewModel = {
isFollowing: @Model.IsFollowing // This is a C# bool
};
</script>
javascript
asp.net-mvc
razor
Nikos
fonte
fonte
Respostas:
Você também pode tentar:
e uma maneira cada vez melhor é usar:
fonte
@Json.Encode(Model.IsFollowing)
é a solução mais elegante. Obrigado!@using System.Web.Helpers
para completar o código.O booleano JSON deve estar em minúsculas.
Portanto, tente isso (e certifique-se de não ter o
//
comentário na linha):Ou (nota: você precisa usar o espaço para nome
System.Xml
):fonte
Porque uma pesquisa me trouxe aqui: no ASP.NET Core,
IJsonHelper
não tem umEncode()
método. Em vez disso, useSerialize()
. Por exemplo:fonte
Por que você
True
nãotrue
pergunta ... Boa pergunta:Por que o Boolean.ToString produz "True" e não "true"
fonte
@Model.IsFollowing
sintaxe JS é realmente válida? Ou depende do fato de que será porque é booleano?'@(Model.IsFollowing)'
Aqui está outra opção a considerar, usando o !! conversão para booleano.
Isso gerará o seguinte no lado do cliente, com 1 sendo convertido em true e 0 em false.
fonte
Uma solução mais fácil de ler seria fazer o seguinte:
fonte