Telerik MVC3 grid - проблема пакетного редактирования - PullRequest
0 голосов
/ 14 августа 2011

Я использую Telerik MVC Grid и настроил его для редактирования в пакетном режиме http://demos.telerik.com/aspnet-mvc/grid/editingbatch. Я пытаюсь отредактировать одно из моих объектов "Состояние", в котором есть Список городов, где Город является другим объектом. Вот как выглядит государственное образование.

public class State {
    ...Some Scalar Properties
    public virtual List<City> Cities { get; set; }  //Navigation Property
    public State() {  
        Cities = new List<City>();
    }
}

Сущность «Мой город» указывает на штат, как указано ниже.

public class City {
     ... Some Scalar Properties
    public virtual State State { get; set; }  //Navigation property
}

Я использую эту модель на одной из моих страниц cshtml примерно так

@(Html.Telerik().Grid<State>()
            .Name("tlkStateGrid")
            .Editable(e =>  e.Mode(GridEditMode.InCell).DisplayDeleteConfirmation(false))
            .ToolBar(t => {
                t.Insert().ButtonType(GridButtonType.Image);
                t.SubmitChanges().ButtonType(GridButtonType.Image);
            })

 ...Some More of code here.

В моем контроллере я обрабатываю пакетные обновления обычным способом.

public ActionResult _SaveChanges(IEnumerable<State> inserted, IEnumerable<State> updated, IEnumerable<State> deleted) {
.....
}

Когда я пытаюсь отредактировать объект State с помощью пакетного редактирования Telerik Grid, параметр (IEnumerable updated) вышеупомянутого действия контроллера имеет записи для всех состояний, которые были изменены. У штатов, однако, есть список городов с одним городом (который является нулевым), даже если в штате нет городов.

Таким образом, суть в том, что я не создал ни один Город в какой-либо части моего кода, но когда я получаю Штаты в качестве параметра для действия контроллера, указанного выше, в списке городов появляется пустой город. Почему это происходит?

1 Ответ

0 голосов
/ 04 сентября 2011

Я не совсем уверен, что понимаю проблему.Поэтому, когда сетка публикуется, вы создаете новое State .Прикрепленный к этому объекту State , есть нулевой объект City .Это проблема?Или я что-то пропустил?

Если это проблема, то это нормальное поведение и его следует ожидать.Вот как работает автоматическая десериализация JSON в MVC3 - каждый раз, когда вы создаете родительский объект и не определяете вложенный объект, вложенный объект будет возвращен как нулевой.Просто обработайте нули в вашем коде.

...