In CSS you can modify your classes when the client (IPhone, …) changes its orientation
@media only screen and (orientation:portrait)
Is there a way to detect this change in a MVC3 application?
I was searching for request parameters or header values but without success.
The code behind your MVC site is server-side, and the orientation of the display is a client-side concern. There will not be anything in the HTTP headers about the screen orientation as they are sent from the server to the client. Therefore there is no way for the server to know anything about the display on the client, so this is not possible using MVC alone.
As you have said the only method available to use is javascript or CSS media queries.