Das ist genau der Ansatz, den ich verwende. Ich habe eine MasterViewData-Basisklasse, die Informationen enthält, die möglicherweise allen Seiten gemeinsam sind und die zum Rendern der Masterseite verwendet wird (angemeldeter Benutzer, wenn keine integrierte Authentifizierung verwendet wird, Seitenmeldungen auf Seitenebene). Alle meine anderen View-Datenklassen leiten davon ab.
Ich mache auch das, was Robert erwähnt: Ich habe eine Basiskontrollerklasse, die die View-Methode außer Kraft setzt, die tatsächlich einen Teil der Masterseiteninformationen in die Viewdata-Klassen einfügt.
Ich bin gespannt, ob es andere Optionen gibt, aber dieser Ansatz hat definitiv gut für mich funktioniert.