【问题标题】:Entity saved successfully but still showing "Save operation failed ok"实体保存成功,但仍显示“保存操作失败”
【发布时间】:2014-11-27 15:16:38
【问题描述】:

基本上,我有一个 AddEdit 屏幕(从浏览屏幕加载),从中保存一个实体。单击保存图标时,实体实际上已保存,但仍然弹出“保存操作失败 Ok”消息,阻止浏览屏幕刷新包含已保存实体列表的表。

看起来,更改没有得到持久化或其他东西。

【问题讨论】:

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


    【解决方案1】:

    添加/编辑屏幕在插入/更新之前验证数据。

    如果您更新包含 DateTime 列的现有记录(例如:注册 DateTime、记录创建 DateTime 等),并且如果您使用 LightSwitch 的 dateTime 选择器控件,则可能会出现验证错误。

    LightSwitch 的日期时间选择器无法读取某些日期时间格式,因此无法分配值(来自数据库)来控制。 通常它会显示很好的验证错误,但是如果您将控件可见性设置为 false,您将永远不会看到由隐藏控件引起的错误。

    除 IE 外,大多数浏览器都会忽略错误。

    这是一种错误。

    解决方案是暂时在屏幕上显示所有隐藏的控件并检查插入/更新功能。您将看到导致该错误的错误和控制。

    您可以将控件类型更改为 Text 或 Edit 或手动为其赋值(如下代码)。

    您可以编写自己的方法来插入/更新记录。看看下面的代码:

    myapp.BrowseProducts.EditProduct_execute = function (screen) {    
        myapp.showAddEditProduct(null, {
            beforeShown: function (editNewProductScreen) {
               var selectedProduct = screen.products.selectedItem;            
               editNewProductScreen.product= selectedProduct;
            },
            afterClosed: function () {
               screen.products.refresh();
            }
        });
    };
    

    在“afterClosed”功能中添加刷新,解决数据刷新问题。

    【讨论】:

      猜你喜欢
      • 2017-03-12
      • 2012-11-20
      • 1970-01-01
      • 2021-10-21
      • 2022-08-06
      • 1970-01-01
      • 1970-01-01
      • 2021-01-22
      • 1970-01-01
      相关资源
      最近更新 更多