Wie rendere ich einen Booleschen Wert in eine JavaScript-Variable in einer cshtml-Datei?
Derzeit zeigt dies einen Syntaxfehler:
<script type="text/javascript" >
var myViewModel = {
isFollowing: @Model.IsFollowing // This is a C# bool
};
</script>
javascript
asp.net-mvc
razor
Nikos
quelle
quelle
Antworten:
Vielleicht möchten Sie auch versuchen:
und ein immer besserer Weg ist zu verwenden:
quelle
@Json.Encode(Model.IsFollowing)
ist imho die eleganteste lösung. Danke dir!@using System.Web.Helpers
, um den Code zu vervollständigen.Der JSON-Boolesche Wert muss in Kleinbuchstaben angegeben werden.
Versuchen Sie dies daher (und stellen Sie sicher, dass der
//
Kommentar in der Zeile steht):Oder (Hinweis: Sie müssen den Namespace verwenden
System.Xml
):quelle
Weil mich eine Suche hierher gebracht hat: In ASP.NET Core
IJsonHelper
gibt es keineEncode()
Methode. Verwenden Sie stattdessenSerialize()
. Z.B:quelle
Warum
True
und nichttrue
fragen Sie ... Gute Frage:Warum gibt Boolean.ToString "True" und nicht "true" aus?
quelle
@Model.IsFollowing
tatsächlich gültigen JS-Syntax? Oder beruht es auf der Tatsache, dass es sein wird, weil es zufällig boolesch ist?'@(Model.IsFollowing)'
Hier ist eine weitere Option, die Sie in Betracht ziehen sollten, indem Sie das !! Konvertierung in Boolesche Werte.
Dadurch wird auf der Clientseite Folgendes generiert, wobei 1 in true und 0 in false konvertiert wird.
quelle
Eine Lösung, die leichter zu lesen ist, wäre Folgendes:
quelle