Получить значения Checkbox для контроллера

В приведенном ниже представлении я пытаюсь передать отмеченные значения флажка контроллеру для сохранения в базе данных.

<div class="editor-label">
                <%: Html.LabelFor(model => model.Addresses) %>
            </div>

             <div class="editor-field">
             <% foreach (var item in Model.Addresses)
                { %>
       <input type="checkbox" 
         id="<%: item.addressID %>"
         name="addressOption"
         value="<%: item.addressID%>"/>
       <label for="optionId"><%: item.address%></label>
       <br />
         <% } %>
               </div>
               <br />
            <div class="editor-label">
                <%: Html.LabelFor(model => model.Mobile) %>
            </div>

Контроллер:

AdvanceClient cli = new AdvanceClient();

                    if (ModelState.IsValid)
                    {

                        cli.Mobile = Request.Form["Mobile"];

                        foreach (var item in Request.Form["Addresses"])
                        {
                            //here i need to get the checked checkbox values
                        }
                    }

Я застрял с получением значений отмеченных флажков


person chamara    schedule 17.05.2013    source источник


Ответы (2)


Вы можете получить все значения в строке, разделенной запятыми, из:

var selectedValues = Request.Form["mySharedName"];
 // This is now a comma separated list of values that was checked

для вас это будет : Request.Form["addressOption"]

после этого, используя цикл for, вы можете получить все значения

person Sachin    schedule 17.05.2013
comment
Привет. спасибо за решение. теперь я сохранил строку, разделенную запятыми, в базу данных. Подскажите, пожалуйста, как я могу проверить соответствующие значения в режиме редактирования? - person chamara; 18.05.2013

Вы можете хранить такие массивы

<input type="checkbox" name="addressOption[0]" id="..." value="..." />
<input type="checkbox" name="addressOption[1]" id="..." value="..." />
<input type="checkbox" name="addressOption[2]" id="..." value="..." />

Теперь вам просто нужно иметь массив в вашей модели с тем же именем

List<int> addressOption;

и он будет заполнен автоматически при отправке.

person the_lotus    schedule 17.05.2013