I am posting what I have done here as I am not sure if it is correct. If it is correct, let me know but if not, feel free to comment so I can make it more best practice.
Firstly, my site is built in MVC3 using Sitecore 6.6.
I have a _MyMazdaMainLayout.cshtml which is my master page for my site. As you can see I am passing in a view model:
So originally I was hard coding the part shown in the above image but I wanted to read the details for my nav links from Sitecore.
I have some constants stored in my code pointing to my Sitecore items:
Here is my view model:
I tell Sitecore about my view model:
And I tell Sitecore that my _MyMazdaMainLayout.cshtml should use this view model:
It all works and seems fine.
Note there is no controller used here but I don't see my self needed any c# logic for my _MyMazdaMainLayout.cshtml. If I do, ill add partial views for that functionality.
So, does this look ok?
Questions / Comments?