フォームをサーバーにポストし、asp.net mvc が値を知る必要があるため、選択オプションに値が必要です。「値」をバインドしてオブジェクトのインスタンスに設定すると、他のバインディングが選択したオブジェクトの値から読み取られるため、これを実行したい場合、オプションには html 値属性がありません。value 属性は、フォームが送信されるときに必要なものです。optionsValue を設定してアイテムの ID を指すと、値バインディングがオーバーライドされ、バインドしたプロパティがオブジェクトにないというエラーが発生します。
計算型の読み取り/書き込みオプションを使用してこれを設定できますが、もっと簡単な方法がないかどうか疑問に思っていました。
ありがとう、
オプションには値がありません。
<select data-bind="options: $root.meetingEvents,
value: $data.meetingEvent,
optionsText: 'meetingEventName',
optionsCaption: ' '">
オプションには値がありますが、選択すると、値にプッシュされるのは meetingEventId であるため、他のコントロールがバインドされている他のプロパティはありません。
<select data-bind=" options: $root.meetingEvents,
value: $data.meetingEvent,
optionsText: 'meetingEventName',
optionsValue: 'meetingEventId'
optionsCaption: ' '">