无法显示ObjectGears页面,请求解决MultiEditWebPart相关报错问题
ObjectGears页面加载失败(MultiEditWebPart引发MethodNotFound错误)修复方案
报错信息:
Method not found: 'Int32 Com.ObjectGears.Common.BusinessLayers.LogBL.Write(System.Exception)'
at Com.ObjectGears.Module.MultiEdit.MultiEditWebPart.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
...(省略重复的递归加载调用)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
修复步骤:
直接从数据库移除故障WebPart
既然页面设计模式也触发错误,只能绕过前端操作:- 备份ObjectGears系统数据库,防止操作失误
- 打开数据库管理工具(如SQL Server Management Studio),找到对应数据库
- 执行查询定位目标页面的MultiEditWebPart记录(替换
目标页面ID为实际页面ID):SELECT * FROM og_page_webpart WHERE pageid = '目标页面ID' AND webparttype LIKE '%MultiEditWebPart%' - 确认记录无误后,执行删除操作:
DELETE FROM og_page_webpart WHERE pageid = '目标页面ID' AND webparttype LIKE '%MultiEditWebPart%' - 刷新ObjectGears页面,确认能正常加载
修复程序集版本不匹配问题
这个报错本质是MultiEdit模块与ObjectGears核心程序集版本不兼容,找不到指定方法:- 查看网站部署目录下的
Com.ObjectGears.Common.dll,记录其版本号 - 获取与核心版本完全匹配的
Com.ObjectGears.Module.MultiEdit.dll(可从官方渠道或备份文件中获取) - 替换网站目录中旧的
MultiEdit程序集,重启IIS应用池
- 查看网站部署目录下的
回滚到兼容版本组合
如果找不到匹配的模块版本,可将ObjectGears核心系统或MultiEdit模块回滚到之前能正常运行的版本,确保二者依赖的方法签名一致
内容的提问来源于stack exchange,提问作者John Dale
相关产品推荐
相关产品推荐

