First ... make sure you have an MVC4 project - either cleaned from the template, or the Microsoft update instructions are correctly followed.
As in other versions of MVC, the project structure works by convention, and usually the views should be in certain folders - for example, the Views for your FoodController are expected to be in Views -> Food , and the templates are expected to be in Views -> Shared .
Assuming _Layout.Mobile.cshtml is located in the Shared Views folder, it may be case sensitive - _Layout.Mobile.cshtml , although I doubt it.
Do you use Fiddler to verify the sent request (headers and UA) and the Response response?
source share