单项选择题

缔约过失责任与违约责任的主要区别是()。

A.行为发生在合同订立前还是发生在合同订立后
B.当事人是否有过错
C.违约责任与侵权责任是否相竟合
D.有无订立书面合同