2009-12-02 3 views
0

Я создаю приложение, которое отображает список объектов в datagrid (список объектов любого типа) и позволяет пользователю обновлять любой элемент. Код не будет знать ничего о отображаемом объекте до времени выполнения. Можете ли вы улучшить мой код для обновления? Я использую Formcollection для получения элементов из формы и создания экземпляра моего класса на основе информации о маршрутизации, т. Е. Он вытащит объект (hardcoded Employee для этого примера) из URL-адреса и создаст его экземпляр.Общий контроллер объекта в MVC, можете ли вы улучшить код?

[HttpPost] 
public ActionResult Details(FormCollection Collection)  
{ 
      try 
      { 
       foreach (var item in Collection) 
       { 
        //TODO set up form values container for populating new object 
        string test = Collection[item.ToString()]; 
       } 
       Assembly CurrentAssembly = 
       Assembly.GetExecutingAssembly(); 
       dynamic updateObject = CurrentAssembly.CreateInstance("Employee"); 
+3

Код, который опубликовал, не очень полный. Я не совсем уверен, что вы хотите, чтобы мы улучшили ... Я бы посмотрел на модели-вяжущие и преобразователи типов, хотя ... –

+0

(консультативный: if это редактируется слишком много раз, когда он собирается идти «wiki» ...) –

+0

Интересно, какие ограничения дизайна у вас есть, так как вы считаете необходимым использовать динамическое ключевое слово и свободный типизированный вызов CreateInstance, оба в том же самом действии контроллера? –

ответ

1

Посмотрите на ModelVisualizer в MVCContrib. Он может отображать коллекцию объектов. Вы могли бы начать оттуда.

Смежные вопросы