Una vez que se dé cuenta de que la coincidencia inicial para el botón de opción solo quiere hacer coincidir una cadena y desea establecer el valor en una cadena, es simplemente una cuestión de convertir su valor inicial en una cadena. Tuve que luchar contra esto con los valores de Int.
Una vez que haya configurado sus observables, convierta el valor en una cadena y KO hará su magia desde allí. Si está mapeando con líneas individuales, realice la conversión en esas líneas.
En el código de ejemplo, estoy usando Json para mapear todo el modelo en un solo comando. Luego, dejando que Razor inserte el valor entre las comillas para la conversión.
script type="text/javascript">
KoSetup.ViewModel = ko.mapping.fromJS(@Html.Raw(Json.Encode(Model)));
KoSetup.ViewModel.ManifestEntered("@Model.ManifestEntered");
KoSetup.ViewModel.OrderStatusID("@Model.OrderStatusID");
</script>
Utilizo un "Volcarlo todo a la pantalla" en la parte inferior de mi página web durante el desarrollo.
<h4>Debug</h4>
<pre data-bind="text: ko.toJSON($data, null, 2)"></pre>
Aquí están los valores de los datos, antes
"OrderStatusID": 6,
"ManifestEntered": true,
y, después
"OrderStatusID": "6",
"ManifestEntered": "True",
En mi proyecto, no necesitaba convertir Bools, porque puedo usar una casilla de verificación que no tiene la misma frustración.