All
Я прочитал много постов о флажках и ASP.MVC, но я не настолько мудр.
Мой сценарий:
У меня строго типизированное представление, в котором я передаю коллекцию объектов-сводок представлению для рендеринга в for-each. Этот сводный объект содержит данные метки на основе уникального идентификатора. Я также добавляю флажок в строку, поэтому сделайте это с помощью:
<td>
<%= Html.CheckBox("markedItem", Model.MarkedItem, new { TrackedItemId = Model.Id })%>
</td>
Когда я выполняю POST для получения отправленных результатов, мой метод действия возвращает строго типизированную ViewModel, но исходный объект сводки, который я использовал для создания списка, не заполняется.
Хорошо, это раздражает, но я могу понять, почему, поэтому я буду жить с этим.
Затем я добавляю в свой ViewModel новое свойство под названием «MarkedItem», которое представляет собой коллекцию строк.
При обратной передаче этот отмеченный элемент заполняется до и после состояния, если флажок был изменен, но ничего не говорит мне, для какого ключа они были. Просто чтобы уточнить, если я отправлю это
- TrackedItemId = A, Значение = false
- TrackedItemId = B, значение = true
- TrackedItemId = C, значение = false
и задайте для этой страницы:
- TrackedItemId = A, Значение = true
- TrackedItemId = B, значение = true
- TrackedItemId = C, значение = false
Я вернусь к этому:
- MarkedItem [0] = true
- MarkedItem [1] = false
- MarkedItem [2] = true
- MarkedItem [3] = false
другими словами [0] - это новое значение, а [1] - старое значение, [2] и [3] представляют значения, которые не изменились.
Мои вопросы:
- Это правильно - что я получаю до и после таким образом? Есть ли способ отправить только последние значения?
- Как я могу получить пользовательский атрибут (TrackedItemId), который я добавил, чтобы я мог добавить значение в массив строк, который возвращается?
Пока мне нравится MVC, но он не обрабатывает такие простые вещи, как это действительно сбивает с толку. Я также являюсь новичком javascript, поэтому я действительно надеюсь, что это не тот ответ, поскольку я хотел бы вернуть данные в моей пользовательской модели представления.
Пожалуйста, сделайте любые объяснения / советы простыми:)