【问题标题】:Pass checked checkboxes to controller through ajax通过 ajax 将选中的复选框传递给控制器
【发布时间】:2014-02-26 07:21:32
【问题描述】:

我正在 ASP.net MVC 上开发一个项目。

我有一个带有一些复选框的 html 表单,例如 A、B、C、D 和 E 以及 我正在通过 ajax 将表单发布到其中一个控制器。

我想明确识别是否从控制器检查了每个复选框,并根据选定的复选框值执行一些操作。

我想知道实现这一目标的最佳实践

P.S:我会将选中的复选框值传递给底层 DAL。

【问题讨论】:

  • 我觉得这个问题需要开发一个项目|| POC
  • 您可以使用 ViewBag 将值从控制器发送到视图,并在视图中检查 ViewBag 是否为空并执行您想要的任何操作。
  • 一些链接会很有帮助@Ramesh Rajendran
  • @monu:你能详细说明一下吗?

标签: c# jquery asp.net asp.net-mvc


【解决方案1】:

您可以通过多种方式做到这一点。这里我给出一个示例想法-

使用模型对象

假设,您在服务器端有一个模型“CheckBoxValues”,其中包含字段

public class CheckBoxValues
{
    public Boolean A { get; set; }
    public Boolean B { get; set; }
}

在您的 html 页面上,使用代码从按钮单击处理程序上的复选框中获取值-

var values= {};
var StateOfCheckBoxA = $('#CheckBoxA').is(':checked'); 
values.A= StateOfCheckBoxA  ;
var StateOfCheckBoxB = $('#CheckBoxB').is(':checked'); 
values.B= StateOfCheckBoxB;

var SubmitURL = YourController/ActionMethod/


            $.ajax({
                type: "POST",
                url: SubmitURL,
                data: values,
                dataType: 'json',

                beforeSend: function () {

                },
                success: function (result) {

                },
                error: function (request, status, error) {

                },
                complete: function () {

                }
            });

现在你的操作方法

 public JsonResult Create(CheckBoxValues values)
 {
       Boolean checkboxA=values.A;
       Boolean checkboxB=values.B;
 }

希望这会对你有所帮助。

【讨论】:

  • 这就是我一直在寻找的。我想要一个不使用 CheckBoxValues 模型的方法。可能只是从表单传递到控制器的 ant 整数值。因为我的逻辑层是一个单独的项目,我不能在那里使用这个模型。
  • 您可以使用上面的代码,只需将 ajax 类型更改为“GET”并在 url 中添加一个查询字符串,另外您应该添加一个服务器端代码来处理这些新信息。
  • @Shanky,你可以不使用任何模型,以同样的方式发送一个整数数组。
猜你喜欢
  • 1970-01-01
  • 2017-09-01
  • 1970-01-01
  • 2013-09-06
  • 2018-12-15
  • 2012-12-31
  • 2016-01-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多