0

在下面的视图中,我试图将选中的复选框值发送到控制器以保存在数据库中。

<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
                        }
                    }

我坚持获取选中复选框的值

4

2 回答 2

1

您可以从以下位置获取逗号分隔字符串中的所有值:

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

对你来说,它将是:Request.Form["addressOption"]

然后使用for循环之后,您可以获得所有值

于 2013-05-17T18:21:02.900 回答
0

你可以像这样存储数组

<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;

它将在提交时自动填充。

于 2013-05-17T19:30:14.183 回答