我在 SharePoint 2010 安装中创建了一个外部内容类型,该内容类型通过 WCF 服务从远程数据库获取其数据。我已经毫无问题地实施了所有 CRUD 操作。
我在 Visual Studio 2010 中创建了一个列表实例,并向该实例添加了一个自定义新窗体,因此当用户在浏览列表时选择"新建项"时,我的自定义窗体就是使用的窗体。这很好用。但是,当用户输入新项目的数据并按"保存"时,我需要能够向用户返回外部系统可能出现的任何错误。
我无法弄清楚如何在自定义窗体的代码后面获取 BDCModel 的事件或句柄,这将允许我在例如 WCF 服务超时或远程数据库由于某种原因不可用时回发错误。
治理已声明不允许我们使用 SharePoint Designer 或 InfoPath 表单,我必须在 Visual Studio 中执行此操作。
任何人都可以指出拦截从 BDCModel 创建和更新方法返回的错误并通过我的自定义窗体的代码将其发布回用户的教程,还是我必须使用覆盖保存的完全自定义窗体自己实现整个保存过程?
我宁愿不必这样做。我还被告知,我不能使用自定义 Web 部件通过客户端对象模型实现这一点,除非绝对无法使用 OOTB 外部列表和自定义窗体解决此问题。
它是权限(始终是权限) - 后端用户(可能是应用程序池帐户)没有权限 - 检查系统应用程序事件日志,然后检查安全日志。SharePoint ULS 日志也可能有所帮助。