Есть несколько проблем с вашим образцом; однако вопрос «как представить словари в бритвенном представлении» уже задавался и отвечался здесь: ASP.NET MVC Привязка к словарю
Кроме того, я предполагаю, что вы работаете с более новой версией ASP.NET MVC. Было бы полезно двигаться вперед, если вы убедитесь, что вы называете версию, с которой вы разрабатываете. Публикация кода просмотра также будет иметь большое значение для получения всеобъемлющего ответа, который поможет вам двигаться вперед.
Что касается других ваших вопросов:
Вы помещаете обе коллекции в ViewData, а также класс модели, который вы реализовали. Это не нужно. В этом случае достаточно просто поместить коллекции в модель и привязать модель к представлению.
Пока вы определили модель в своем представлении как класс модели, который вы приводите здесь в качестве примера, единственное, что вам нужно сделать, это следовать инструкциям по ссылке, которую я предоставил выше.
Имейте в виду, что ваши ссылки на словари в этом случае будут Model.stageData
и Model.stepData
внутри циклов в вашем представлении.