B
在上下语境中考查时态。Should have done表示“过去要做而没有做”,含有“责备”之意。在下一句中表示“我过去敦促了他”,因此用“过去时”。代替上文出现的一个谓语动词用代动词替换。在此,did=urged。