Представьте себе страницу, которая использует флажки для отслеживания подписок на рассылку о домашних животных:
cats-list ( )
dogs-list (*)
birds-list ( )
horses-list (*)
Я использую метод расширения Html.Checkbox в ASP.NET MVC в цикле (не показан):
<%= Html.Checkbox("subscriptions[" + i +"]", item.subscribed, item.listName) %>
«i» - переменная итерации в цикле. Использование этого соглашения позволяет моему действию контроллера связать модель subscriptions[i]
с List<string>
, которая затем содержит список имен списков рассылки для подписки.
Как я могу отслеживать, что не проверено? Например, если пользователь снимает флажок «список собак», чтобы отписаться от этого списка, как я могу сказать? Я верну «ложь» только из скрытого поля формы.
РЕДАКТИРОВАТЬ: Единственное решение, которое приходит на ум, это для действия контроллера отписаться от всех списков рассылки, а затем повторно подписаться на списки, содержащиеся в List<string>
от флажков. Это не идеально, хотя.