Редактор Asp.Net MVC 3 для динамических свойств

Мы безуспешно пытались заставить шаблон редактора -работать с динамическим свойством -. Может быть, кто-нибудь из вас поможет нам.

Вот примерно наш класс:

public class Criterion
{
   ...
    public string Text { get; set; }
    public dynamic Value { get; set; }
    public Type Type { get; set; }
   ...
}

Наше бритвенное представление получает модель, содержащую список разделов, каждый из которых содержит список критериев. (Мы получаем эту информацию во время выполнения. )Все эти критерии должны отображаться в режиме редактирования -относительно их фактического типа:(отрывок)

@for (int i = 0; i < model.Sections.Count(); i++)
{
    for (int j = 0; j < model.Sections[i].Criteria.Count(); j++)
    {
        var criterion = model.Sections[i].Criteria[j];
        var type = criterion.Type.Name;
        var name = "Sections[" + i + "].Criteria[" + j + "].Value";
        var criterionDisplayName = criterion.Text;
        <label for="Sections_@(i)__Criteria_@(j)__Value">@criterionDisplayName</label>
        @Html.Editor(name, type)
    }
}

Это, например, правильно отображает флажок, но не использует значение для правильной установки состояния флажка (проверено, если критерий. Значение истинно ). То же самое касается и других типов, например ints. (Он правильно заполняет форму после POST-запроса, но это потому, что MVC использует временную модель для воссоздания пользовательского ввода.)

Насколько мы пробовали и исследовали :, возможно ли вообще использовать шаблон Editor со свойствами типа dynamic? Если да -, как мы можем заставить его работать? (Мы не хотели бы различать по возможному типу. Мы хотели бы, чтобы среда MVC использовала правильный шаблон редактора в зависимости от фактического типа.)

12
задан toni 15 July 2012 в 12:47
поделиться