Yes, you'll have to initiate the correct document.
Somewhere in your controller you might have something like:
HttpContext.Kentico().PageBuilder().Initialize(detailModel.DocumentID);
As long as you make sure that document ID is the correct unpublished version or correct workflowstep.
You can detect if you're in edit mode using something like:
bool previewEnabled = System.Web.HttpContext.Current.Kentico().Preview().Enabled;
Making the final result something like the following simplified code:
if (previewEnabled)
{
// get last page version keeping workflow in mind
...
detailModel = something();
//initiate page builder
HttpContext.Kentico().PageBuilder().Initialize(detailModel.DocumentID);
}
else
{
// get last page published version
...
detailModel = somethingElse();
//initiate page builder
HttpContext.Kentico().PageBuilder().Initialize(detailModel.DocumentID);
}