เมื่อคุณทราบแล้วว่าการจับคู่ครั้งแรกของปุ่มตัวเลือกต้องการจับคู่เฉพาะสตริงและต้องการกำหนดค่าเป็นสตริงมันเป็นเพียงเรื่องของการแปลงค่าเริ่มต้นของคุณเป็นสตริงฉันต้องต่อสู้กับค่า Int
หลังจากที่คุณตั้งค่าสิ่งที่สังเกตได้แล้วให้แปลงค่าเป็นสตริงและ KO จะทำเวทมนตร์จากที่นั่น หากคุณกำลังจับคู่กับแต่ละบรรทัดให้ทำการแปลงในบรรทัดเหล่านั้น
ในโค้ดตัวอย่างฉันใช้ Json เพื่อแมป Model ทั้งหมดในคำสั่งเดียว จากนั้นให้ Razor แทรกค่าระหว่างเครื่องหมายคำพูดสำหรับการแปลง
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>
ฉันใช้ "ถ่ายโอนข้อมูลทั้งหมดไปที่หน้าจอ" ที่ด้านล่างของหน้าเว็บระหว่างการพัฒนา
<h4>Debug</h4>
<pre data-bind="text: ko.toJSON($data, null, 2)"></pre>
นี่คือค่าข้อมูล ก่อน
"OrderStatusID": 6,
"ManifestEntered": true,
และ, หลังจากนั้น
"OrderStatusID": "6",
"ManifestEntered": "True",
ในโครงการของฉันฉันไม่จำเป็นต้องแปลง Bools เพราะฉันสามารถใช้ช่องทำเครื่องหมายที่ไม่มีปัญหาเหมือนกัน