ViewDataDictionary можно использовать для замены словаря ViewData в частичном представлении ... Если вы не передадите параметр ViewDataDictionary, тогда данные представления parial будут такими же, как и у родителей.
Пример того, как использовать его в родительском:
@Html.Partial("_SomeTable", (List<CustomTable>)ViewBag.Table, new ViewDataDictionary {{ "Key", obj }});
Тогда в частичном вы можете получить доступ к этому объекту следующим образом:
@{ var obj = ViewData["key"]; }
Совершенно другой подход заключается в использовании класса Tuple для группировки исходной модели и дополнительных данных следующим образом:
@Html.Partial("_SomeTable", Tuple.Create<List<CustomTable>, string>((List<CustomTable>)ViewBag.Table, "Extra data"));
Тип модели для частичного будет:
@model Tuple<List<CustomTable>, string>
Model.Item1 дает объект List, а Model.Item2 дает строку