我在m MVC应用程序的视图中有一个复选框控件。如何在控制器中检查是否已检查?这可能吗?
答案 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");
}
}
}
}