Спасибо за ваш ответ.
Требование довольно простое.Возможно, в моем посте это звучало очень сложно.
В представлении «Индекс» я должен заполнить раскрывающийся список всеми таблицами приложения, которые являются системными.«Администратор» приложения выбирает из выпадающего списка элемент, который должен отображать контексты этой таблицы в сетке, чтобы администратор мог выполнять операции CRUD с использованием этой сетки.
Что я пытаюсь сделать, это, передать выбранный элемент (который является именем таблицы) контроллеру, который, в свою очередь, передает его классу ViewModel.Этот класс использует отражение, чтобы вызвать (код, показанный в моем исходном вопросе) правильный метод репозитория, который имеет такие методы, как:
public IEnumerable GetAllTable1Data () {.....}
У меня проблема в том, что когда я вызываю метод, он возвращает тип «объект», который я не могу привести к чему-то конкретному, потому что я не знаю, к какому типу он должен быть приведен.Когда этот объект передается в представление, сетка ожидает IEnumerable или IEnumerable, но я не знаю эту информацию.Я не могу сделать это:
(IEnumerable) method.Invoke (repositoryObject, null)
Я получаю: не могу привести IEnumerable к IEnumerable
I (вид)у меня теперь отображается сетка, но я использую оператор Switch в представлении, которое выглядит следующим образом:
Switch (SLU_Type) {case "SLU_Table1": Html.Grid ((IEnumerable) Model.Items);case "SLU_Table2": Html.Grid ((IEnumerable) Model.Items);.....}
Мне это совсем не нравится, это неправильно, но я просто не могу найти приличный способ!
Я мог бы иметь частичные представления для каждого вида системыдо таблиц, но для этого мне нужно добавить около 30 частичных представлений с почти точно таким же кодом для Action & View.Это тоже не кажется правильным!
Надеюсь, это даст вам лучшее понимание того, чего я пытаюсь достичь.