ASP.NET MVC Ajax发布函数发送空值

时间:2018-07-18 13:20:42

标签: javascript ajax asp.net-mvc

我很抱歉,如果对此已经找到答案,我找不到答案。

我有一个ajax函数,该函数将数据发布到控制器,但是正在发送的某些数据具有空值。这是我的设置:

我有3个参数发送到控制器:data,rptnew和recid。 data参数是一个包含db列名称和数据的字符串。 rptnew和recid仅包含一个值。

var data = "{'DATEWORKING':'" + $('#HEADER-DATEWORKING').val() +
        "','TRAYS':'" + $('#TRAYS').val() +
        "','M26850':'" + $('#INCOMINGMAIL5').val() +
        "','M26860':'" + $('#INCOMINGMAIL6').val() +
        "','X26930':'" + $('#INCOMINGMAIL9').val() +
        "','T26920':'" + $('#INCOMINGMAIL8').val() +
        "','C2501':'" + $('#INCOMINGMAIL1').val()+ "'}";
rptnew = '0';
recid = '2347';

功能发布:

function postdata(data, section, recid, rptnew) {
$.ajax
    ({
        type: 'POST',
        url: 'UpdateDB_IR’,
        async: false,
        data: ( data, rptnew, recid ),
        dataType: "json",
    success: function (result) {
        if (result) {
            alert("Data Saved Successfully");
            afterpostfunctions();
        }
        else
            alert(result);
    },
    error: function (result) {
        alert("Error Occured, Try Again");
        console.log(result);
    }
});

控制器:

public ActionResult UpdateDB_IR(DATABASE_RECORDS dbData, string rptNew, string recId)

问题: dbData包含变量数据中的列和值。 rptNew不包含rptnew的值。 recId不包含来自recid的值。

如果我像这样对数据进行字符串化处理

JSON.stringify({ dbData: data, rptNew: rptnew, recId: recid });

dbData不包含数据中的值。 rptNew包含rptnew的值。 recId包含来自recid的值。

我不知道如何正确地将所有值发送到控制器。有什么建议吗?

数据库类:

namespace REPORTSYS.Models
{
using System;
using System.Collections.Generic;

public partial class DATABASE_RECORDS
{
    public int CBAD_ID { get; set; }
    public int TRAYS { get; set; }
    public int M26850 { get; set; }
    public int M26860 { get; set; }
    public int X26930 { get; set; }
    public int T26920 { get; set; }
    public int C2501 { get; set; }
}
}

2 个答案:

答案 0 :(得分:0)

record

用键将数据发送到控制器。在上述功能中进行了修改。

答案 1 :(得分:0)

尝试使用数据

data:{dbData:data,rptNew:rptnew,recId:recid}

不要使用stringify。