如果控制器方法名称不是“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
方法的名称与服务器上的SaveChanges
方法的名称之间没有物理连接。 改变一个不会改变另一个。
如果要在控制器上使用不同的方法名称,则需要在传递给实体管理器上的 saveChanges 方法的SaveOptions
中指定它:
var so = new SaveOptions({ resourceName: "SaveChangesCompany" });
manager.saveChanges(null, so );
有关详细信息,请参阅 Breeze 文档。