MVC Razor Для привязки цикла к проблеме ViewModel - PullRequest
0 голосов
/ 30 сентября 2018

Я вижу сбивающую с толку проблему с отправкой моей модели представления обратно на контроллер, и я не понимаю, почему она не работает.Хотя у меня есть идея, почему она может не работать, которую я объяснил внизу.

В основном я использую цикл for, чтобы привязать свою модель к HTML в представлении бритвы

           @for (int i = 0; i < Model.CheckBoxTag.Count; i++)
            {
                @if (Model.CheckBoxTag[i].TagTypeName == "test")
                {
                    ....
                }
            }

Когда я отправляю форму, тестовые объекты CheckBoxTag отправляются на мой контроллер, как и ожидалось.

Однако, когда я делаю то же самое дальше, вниз по html-странице только с помощью тегов эскалации: -

            @for (int i = 0; i < Model.CheckBoxTag.Count; i++)
            {
                @if (Model.CheckBoxTag[i].TagTypeName == "test1")
                {
                        ...
                }

            }

Объекты test1 CheckBoxTag не отправляются обратно в контроллер.(Количество все равно 3, тогда как должно быть 6)

Тот факт, что это тот же самый код, я не уверен, как справиться с ним.

Моя теория: я считаю, что это не отправка обратноМой контроллер, потому что тест для цикла являются первыми элементами в коллекции, поэтому он всегда идет в IF.Принимая во внимание, что объекты test1 находятся в нижней части коллекции, поэтому IF пропускается в цикле несколько раз.

Это правильно?Если нет, в чем может быть проблема?

Спасибо

1 Ответ

0 голосов
/ 30 сентября 2018

Как указано в разделе комментариев, индексаторы должны быть последовательными.

Поэтому в циклы for я помещаю

     @for (int i = 0; i < Model.CheckBoxTag.Count; i++)
        {


            @if (Model.CheckBoxTag[i].TagTypeName == "test1")
            {
                // New!
                <input type="hidden" name="CheckBoxTag.Index" value="@i" />
                    ...
            }

        }

Так что теперь индексаторы "[i]" теперь увеличиваются в каждом цикле

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...