ASP.NET MVC Постинг моделей в действие с интерфейсом

Насколько я понимаю, ASP.NET MVC позволяет только POST-объекты к действиям в контроллере, где аргументы действия принимают размещенный объект как конкретный класс.

Есть ли способ обойти это или хорошая альтернатива?

В моем случае, у меня есть действие, которое принимает интерфейс в качестве аргумента:

public ActionResult SaveAdjustment(IModel model)
{
    switch (model.SubsetType)
    {
        // factory like usage
    }
}

И для этого действия у меня есть множество представлений, все сильно типизированные для объектов, реализующих IModel, все из которых я хочу иметь возможность отправлять в этот единственный метод.

Конечно, выполнение этого метода дает мне ошибку:

Cannot create an instance of an interface

Есть ли хороший способ обойти это? Или мне нужно создать метод Action для каждого и отправить их в такой метод?

5
задан Arkiliknam 11 January 2012 в 16:26
поделиться