这是我今天遇到的一个奇怪问题。我有一个使用Breeze和Knockout的应用程序。在我的一个页面上,我允许用户编辑和保存项目数据。保存按钮仅在更改后才能使用。要跟踪我订阅propertyChanged事件的更改。这个页面有很多下拉菜单会导致一些问题。以下是其中一个下拉列表的示例。Breeze/Knockout dropdown导致实体被修改
<div>
<label for="projQAManager">QA Manager</label>
<select id="projQAManager" data-bind="options: QAManagers,
optionsText: 'FullName',
optionsValue: 'USERNAME',
optionsCaption: 'None',
value: project().QAManager"></select>
</div>
当project()。QAManager是“”时会发生该问题。一旦项目被加载,propertyChanged事件就会被触发,并显示QAManager字段从“”更改为空。这导致实体相信它已被修改,即使没有真正改变。如果QAManager已经为空,那么一切正常。我想我可以通过并尝试清理数据库,并用“”清除任何字段,如果必须将其设置为空,但如果可以避免,我宁愿不要。
谢谢,这看起来像一个很好的解决方案 – OriginalMoose 2013-05-09 16:50:21