如何传递未选中的复选框值?

时间:2016-09-12 12:58:09

标签: razor asp.net-mvc-5

我正在尝试将复选框值发回给控制器。该复选框无法识别复选框中的更改,并继续发送我在生成页面时获得的值。

有人能解释我错在哪里吗? 我看了几个例子,不幸的是他们没有满足我的要求。

我的班级

public class SomeClass
{
    public Guid Id { get; set; }
    public string Name { get; set; }
    public bool IsEnabled { get; set; }
}

我的控制器

    [HttpPost]
    public ActionResult Index(Guid id,bool check = false)
    {
        try
        {
            _importService.EnableDisable(id, check);
            return RedirectToAction("Index");
        }
        catch (Exception ex)
        {
            LogError(ex.Message, ex);
            throw;
        }
    }

Razor Code

  <html>
<head>
    <title>Values</title>
</head>
<body>
<div>
    <h4>Current Values</h4>
    <table>
        @foreach (var m in Model)
        {
            <tr>
                <td><a href="@Url.Action("ExtraInfo", "MyAction", new {id = m.Id})">@m.Name</a></td>
                <td>                 
                    @using (Html.BeginForm("Index", "MyAction", new { id = m.Id, check = m.IsEnabled }, FormMethod.Post, null))
                    {
                        @Html.HiddenFor(m => SomeClass.Id)
                         @Html.CheckBoxFor(m => SomeClass.IsEnabled)

                        <input type="submit" value="Save" />
                    }
                </td>
            </tr>
        }
    </table>
</div>
</body>
</html>

The Save button appears like this

0 个答案:

没有答案