Что касается другой части вопроса, распространено поместить подчеркивание в конец из имени переменной для не столкновения с чем-либо внутренним.
я делаю это ровные внутренние классы и пространства имен, потому что я тогда только еще должен помнить одно правило (по сравнению с "в конце имени в глобальной области видимости, и начало имени везде").
Да, верно. ViewState не имеет отношения к делу. Подробнее о различиях между моделью страницы и MVC здесь:
Его настоящее, потому что ViewPage наследуется от Page. Однако сама страница не использовала ViewState, которую использовала WebControls. Можно включить исходные элементы управления Web в представление, но при этом полностью упускается возможность отделения управления от представления.
Лично я считаю его устаревшим. Единственный раз, когда я видел ViewState в приложении ASP.Net MVC, это когда кто-то «случайно» добавил элемент управления ASP.Net на страницу.