Une fois que vous comprendre que le match initial pour le bouton radio veut correspondre qu'à une chaîne et veut régler la valeur à une chaîne, c'est simplement une question de la conversion de votre valeur initiale de la chaîne. J'ai eu à ce combat, avec les valeurs Int.
Après que vous avez configuré votre observables, convertir la valeur de chaîne et KO fera sa magie à partir de là. Si vous êtes à la cartographie avec des lignes individuelles, de faire la conversion dans ces lignes.
Dans l'exemple de code, je suis en utilisant Json pour cartographier l'ensemble du Modèle en une seule commande.
Puis en laissant de Rasoir insérer la valeur entre guillemets pour la conversion.
script type="text/javascript">
KoSetup.ViewModel = ko.mapping.fromJS(@Html.Raw(Json.Encode(Model)));
KoSetup.ViewModel.ManifestEntered("@Model.ManifestEntered"); //Bool
KoSetup.ViewModel.OrderStatusID("@Model.OrderStatusID"); //Int
</script>
J'utilise un "Dump tout à l'écran" en bas de ma page web en cours de développement.
<h4>Debug</h4>
<pre data-bind="text: ko.toJSON($data, null, 2)"></pre>
Voici les valeurs de données, Avant d'
"OrderStatusID": 6,
"ManifestEntered": true,
et, Après
"OrderStatusID": "6",
"ManifestEntered": "True",
Dans mon projet, je n'ai pas besoin de convertir des Booléens, parce que je suis en mesure d'utiliser une case à cocher qui n'ont pas la même frustration.