创建一个可以在Lightswitch应用程序中编辑和添加记录的屏幕

时间:2012-05-02 20:45:57

标签: visual-studio-lightswitch visual-studio-2012 beta

我遵循微软的这个教程,并且它非常有效,直到我升级到Beta 2。

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

当使用一个没有填充数据的所谓“数据项”时,它会产生异常。

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

可能的情况:

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

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分: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参数设置为true,Is Required设置为false。


积分转到Paul Patterson Quercus Solutions Inc(MVP)