如果控制器方法名称不是“SaveChanges()”,则 Breeze js 保存更改不起作用

本文关键字:Breeze 不起作用 保存更改 js SaveChanges 方法 控制器 如果 | 更新日期: 2023-09-27 17:57:41

嗨,我是BreezeJs新手

我在控制器上有一个开机自新方法

// POST api/company/post
        [Authorize(Roles = "Admin")]
        [AcceptVerbs("POST")]
        [HttpPost]
        public object **SaveChanges**(JObject companyRequest)
        {
            return companyService.SaveEntity(companyRequest);
        }

我已经在 breezejs 中调用了这种方法

manager.**saveChanges**().then(saveSucceeded).fail(saveFailed);

saveChanges()与控制器方法名称同名。所以它现在正在工作!

但是如果我将控制器方法名称更改为SaveChanges() SaveChangesCompany()并换到微风一侧以manager.SaveChangesCompany()

代码看起来像

// POST api/company/post
            [Authorize(Roles = "Admin")]
            [AcceptVerbs("POST")]
            [HttpPost]
            public object **SaveChangesCompany(JObject companyRequest)**
            {
                return companyService.SaveEntity(companyRequest);
            }

和微风的一面

**manager.saveChangesCompany(**).then(saveSucceeded).fail(saveFailed);

然后它不起作用。为什么manager.saveChanges()有效而manager.saveChangesCompany()不起作用?

如何使用 breezejs 执行此操作?

请帮帮我!!谢谢!

如果控制器方法名称不是“SaveChanges()”,则 Breeze js 保存更改不起作用

实体管理器上的saveChanges方法的名称与服务器上的SaveChanges方法的名称之间没有物理连接。 改变一个不会改变另一个。

如果要在控制器上使用不同的方法名称,则需要在传递给实体管理器上的 saveChanges 方法的SaveOptions中指定它:

var so = new SaveOptions({ resourceName: "SaveChangesCompany" });
manager.saveChanges(null, so );

有关详细信息,请参阅 Breeze 文档。