我编辑了我的课程并成功保存了但是当我访问使用该课程的页面时,我收到错误
目前不允许使用DML 发生意外的错误。您的开发组织已收到通知。
这是我的控制器
public class DefinitionController {
public DefinitionController() {
this.DefTable();
}
public void DefTable() {
listplatforms = [select Name, Status__c from Platform__c];
for (Platform__c idlistplatforms : [select Id from Platform__c]) {
List<Def__c> existplatforms = [select Platform__c from Def__c where Platform__c = :idlistplatforms.Id];
if (existplatforms.size() > 0) {
idlistplatforms.Status__c = 'Set';
//update idlistplatforms;
System.debug('Found' + idlistplatforms);
} else {
idlistplatforms.Status__c = 'Not Set';
//update idlistplatforms;
System.debug('Not Found' + idlistplatforms);
}
update idlistplatforms;
}
}
}
我认为问题是因为更新部分。有人可以编辑我的代码,以便我将克服该错误?
提前致谢!
答案 0 :(得分:2)
简而言之,类构造函数中不允许进行DML操作,因为它可能是导致危险副作用的原因。
您可以找到here
的问题的答案答案 1 :(得分:2)
你可以做的是让Visual force页面加载,然后使用Remote Action调用你的顶点来进行DML查询。
确保在jquery的document.ready中执行此操作。