将整数值从我的视图发送到控制器以加载 jQuery 数据表

Posted

技术标签:

【中文标题】将整数值从我的视图发送到控制器以加载 jQuery 数据表【英文标题】:send an integer value from my View to the controller in order to load a jQuery datatable 【发布时间】:2017-09-14 21:52:18 【问题描述】:

我一直在做一个 MVC C# 项目,需要从一个特定的 db' 表中加载一个 jQuery 数据表,该数据表必须显示特定区域的记录(并且这些区域是整数,例如 01、02、03。 ..) 仅此而已,我想知道的是如何从 DataTable 脚本代码向控制器发送一个整数(表示特定区域)。

这是我的数据表的代码

 $('#myTable').DataTable(
            searching: false,
            paging: true,
            responsive: true,
            ordering: false,
            bInfo: false,
            bLengthChange: false,
            processing: true,
            info: false,
            deferRender: true,
            orderMulti: false,
            "ajax": 
                "url": "../home/CargarTabla",
                "type": "GET",
                "datatype": "json"
            ,
            "columns": [ ... all my columns

这是我的 MVC 控制器的代码,它调用 WCF 服务来获取信息,只是为了调试,我指定了一个 int 值(example=28)并将值发送到 (info = cliente.CargarDatatable( ejemlo)),如下面的代码所示

public ActionResult CargarTabla()
        
            int example= 28;
            ProxyGFC.ServiceGFCClient cliente = new ProxyGFC.ServiceGFCClient();
            List<WcfService.Entidades.EmpleadoDatatable> info = new List<WcfService.Entidades.EmpleadoDatatable>();
            info = cliente.CargarDatatable(ejemplo);

            // a lot of boring code here...but it works
            return Json(new  data = lista , JsonRequestBehavior.AllowGet);
        

如何将整数值从我的视图发送到控制器?

【问题讨论】:

./home/CargarTabla?id=100 作为 ajax url 并将 idint 类型的参数添加到您的方法并使用它 【参考方案1】:

在控制器操作中定义一个参数并将该参数传递到填充您的值的方法中:

// The id value will read any querystring values or those found in the request
// as set them to the expected value
public ActionResult CargarTabla(int id)

      // Use your id here to pass along to your service    

然后只需调整您的客户端调用以将其作为查询字符串参数(例如"url": "../home/CargarTabla?id=42")传递。您也可以通过引用 html 元素并传递其值来动态地执行此操作:

var id = $('selector').val();
$('#myTable').DataTable(
      // Omitted for brevity
      "ajax": 
            "url": "../home/CargarTabla?id=" + id,
            "type": "GET",
            "datatype": "json",
            // Another option may be to use a data object instead of a querystring param.
            data  id: id 
      
);

【讨论】:

以上是关于将整数值从我的视图发送到控制器以加载 jQuery 数据表的主要内容,如果未能解决你的问题,请参考以下文章

如何将模型的(json)值发送到视图控制器?

如何使用 Ajax 以数组格式将多个图像从 MVC 视图发送到控制器?

从 Service 向 Activity 发送简单消息

Swift 向视图控制器发送多个对象

Jquery Ajax 发布以更新视图中的 django 会话

如何将整数位数组转换为整数值?