Я пытаюсь создать решение в MVC, в котором строковое представление класса передается контроллеру, который затем должен построить сетку со всеми данные, принадлежащие этому классу в БД. (Я использую ORM для сопоставления классов с таблицами).динамически генерирует Перечислимый объект определенного типа из строкового представления типа
//A method in the Model that populates the Item Property
foreach (MethodInfo method in sDRMethods)
{
if (method.Name.Contains(_domainTable))
{
Items = method.Invoke(repositoryObject, null);
break;
}
}
//View uses this Items property of the Model to populate the grid.
public object Items;
//_domainTable is the name of the table/class (in string format).
//repositoryObject is the object that has methods to return IEnumerable<class> collection object of each type.
У меня есть проблема в том, что я не знаю, как бросить свойство «Items» на мой взгляд, перебрать его и построить сетку.
Я попытался использовать «http://mvcsharp.wordpress.com/2010/02/11/building-a-data-grid-in-asp-net-mvc/», но общий метод расширения ожидает узнать конкретный тип, с которым он должен работать.
Я бы предпочел использовать MVC, но похоже, что я не могу легко работать с этим (что очень сложно поверить).
Есть ли еще код, который вы еще не разместили, а используете? – jfar
Да, но я не думаю, что это важно. Недопустимый код - это «вызов» для метода, выполняющего вышеуказанный код. И представление, которое делает что-то вроде: – Aaron
Switch (_domainTable) {case "systemLookUpTable1": return (IEnumerable) Model.Items; ....} Мне действительно не нравится этот оператор switch в представлении! –
Aaron