0

我按照 Microsoft 的本教程进行操作,效果非常好,直到我升级到 Beta 2。

http://msdn.microsoft.com/en-us/lightswitch/Video/ff945359

这就是当使用未填充数据的所谓“数据项”时,它会产生异常。

所以问题是:有没有人使用新屏幕也使用它进行编辑并且遇到了这个问题,你是如何解决这个问题的?

可能的场景:

  • 开始一个新的 Beta 2 项目并创建单独的新屏幕和编辑屏幕(意味着双重工作)
  • 通过将(未在新模式中使用)数据项与现有记录绑定来以某种方式找到修复(这将是一个丑陋的修复)
  • 寻找另一种方法来创建新/编辑屏幕。
  • 选项 4?
4

2 回答 2

1

我使用了 Beth 原始代码的修改版本(首先在 B2 中,然后是 RTM,并且我很确定它在 V2 Beta 中有效),因为有时会出现一个错误(但我不记得在什么条件下更多,因为我已经使用我的代码很长一段时间了)。

Beth 提供的第一个代码使用了“编辑数据”屏幕(但可能是 B1?),然后她发布了一个使用“添加新数据”屏幕的更新版本(您指向的视频是 B2) .

如果你还没有设法让它工作,我可以指出我使用的代码。

于 2012-05-04T12:46:12.620 回答
0

我使用以下逻辑打开同一屏幕以进行编辑或添加记录:

partial void CreateNewOrEditJob_InitializeDataWorkspace(List<IDataService> saveChangesTo)
        {
            Job selectedJob;

            if (SelectedJobId.HasValue)
            {
                int selectedId = (int)SelectedJobId;
                selectedJob = DataWorkspace.ApplicationData.Jobs.Where(j => j.Id.Equals(selectedId)).FirstOrDefault();
            }
            else
            {
                selectedJob = new Job();
            }
            this.JobProperty = selectedJob;
    }

上面的示例用于用于编辑现有“工作”实体或创建新实体的屏幕。“SelectedJobId”是屏幕的本地属性,Is Parameter 设置为 true,Is Required 设置为 false。


归功于 Paul Patterson Quercus Solutions Inc (MVP)

于 2012-05-03T10:12:19.823 回答