如何检查MVC中是否选中了复选框?

时间:2014-08-25 21:49:19

标签: asp.net-mvc

我在m MVC应用程序的视图中有一个复选框控件。如何在控制器中检查是否已检查?这可能吗?

1 个答案:

答案 0 :(得分:3)

您应该使用布尔值作为CheckBox的参数来指示已检查的状态和 获取所选复选框的ID并传递给控制器​​

视图中的代码:

@model checkbox_app.Models.CheckboxModel

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>

    <script src="~/Scripts/jquery-1.8.2.min.js"></script>
    <script>
        $(document).ready(function () {

            $("#checkbox").change(function ()
            {
                var n = $(this).is(':checked');
                if ($(this).is(':checked')) {
                    $.ajax({
                        url: '@Url.Action("Index1", "Check")',
                        data: { check: n },
                        type: 'GET',
                        datatype: "json",
                        contentType: 'application/json; charset=utf-8',
                        async: false,
                        success: function (data) {
                            alert(data.results);
                        }
                    });
                }
            });            
        });
    </script>
</head>
<body>  
        <div class="editor-field fieldwidth floatL">
            @Html.CheckBoxFor(x => Model.checkCntrl, new { id = "checkbox"})
        </div> 
</body>
</html>

模型中的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace checkbox_app.Models
{
    public class CheckboxModel
    {
        public bool checkCntrl { get; set; }

    }
}

控制器中的代码:

using checkbox_app.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace checkbox_app.Controllers
{
    public class CheckController : Controller
    {
        //
        // GET: /Check/

        public ActionResult Index()
        {

                return View();


        }

        public ActionResult Index1(bool check)
        {

            if (check)
            {
                string str = "done";
                 return Json(new { results = str }, JsonRequestBehavior.AllowGet);

            }
            else
            {
                return View("Error");
            }
        }

    }
}