繁体   English   中英

通过JSON从JSON发送服务器端对象到jqGrid

[英]Sending a server-side object via JSON from Javascript for jqGrid

我的服务器端代码中有一个类,例如:

public class foo
{
   public int FieldOne { get; set; }
   public string FieldTwo { get; set; }
   public float FieldThree { get; set; }
}

现在,在我的客户端代码中,有一种形式可以将数据加载到用于从数据库中检索信息的输入中,然后将该信息加载到jqGrid中。

我知道如何以[HttpPost]的形式从服务器端函数/动作中获取数据,例如:

[HttpPost]
public ActionResult Index (foo model)
{
   ...
}

但是我无法让网格调用此方法。 我已经将jqGrid的参数“ url”设置为“ Controller / Index”,但没有调用它。

反正有这样的称呼吗? 或者还有其他方法可以通过Javascript以对象格式发送表单信息吗?

谢谢。

UPD:

这是网格代码:

grid.jqGrid({
        url: "Controller/Action",
        datatype: 'json',
        emptyrecords: "No hay proyectos cargados",
        colNames: ['Code', 'Desc', 'Rev', 'Client'],
        colModel: [
                 { name: 'Code', index: 'Code', width: 100 },
                 { name: 'Desc', index: 'Desc asc, Desc', width: 200 },
                 { name: 'Rev', index: 'Rev', width: 100, align: "right" },
                 { name: 'Client', index: 'Client', width: 200, align: "right" }
               ],
        rowNum: 10,
        loadonce: false,
        sortname: 'Code',
        viewrecords: true,
        sortorder: "desc",
        height: 'auto',
        caption: ""
    });

如果更改由@ Url.Action()生成的URL的URL,则相同。

在网格中添加此行。

mtype: 'GET'

现在,您的网格正在尝试针对POST专用操作的GET(默认)请求(由于您应用的属性)。 或者,您可以删除POST限制,并将AllowGet选项添加到return Json(*******)

问题可能不止一个,但让我们从简单的东西开始:)

-编辑-

另外,正如评论中所述,Fiddlers + Firebugs / Chrome控制台在使用javascript / ajax / json时可以帮助很多,因为当出现错误时它们不会输出任何视觉效果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM