Why can’t I set ShowForEdit model metadata with an attribute?
It seems that the only attribute provided to alter this is [ScaffoldColumn], which sets both ShowForEdit and ShowForDisplay, which is not what I want to do. I want to be able to annotate the two separately from on my model.
Because it is not supported out of the box. AFAIK the reason is because the dataannotations attribute that support this functionality are in .net 4.0 and in order to make MVC 3.5 and 4.0 compatible they had to be excluded.
The easiest way to fix this is to have to implement your own Edit/Show attribute as demonstrated in this Question/Answer:
Showing Different fields in EditorForModel vs. DisplayForModel modes in MVC2