我尝试将值从我的视图发送到控制器。
我的控制器中的方法被调用,但值仍然为NULL。

这是Javascript部分:

GUIRequests.prototype.SetNewItemDeliveryValues = function () {
    var modelNumberID = this.GetValue('#ModelNumberID');

    this.Request.GetPreOrderIDForModelNumberID(modelNumberID); //InventValueRequest
    this.Request.GetShortfallAndOverdeliveryInNewItemDelivery(modelNumberID);
}

InventValueRequest.prototype.GetPreOrderIDForModelNumberID = function (_modelNumberID) {
    this.CallAjax("/NewItemDelivery/GetPreOrderIDForModelNumberID", _modelNumberID, CallbackMethods.SetPreOrderID);
}

//Private
InventValueRequest.prototype.CallAjax = function (_url, _data, _successFunctionPointer) {
    $.ajax({
        type: 'POST',
        url: _url,
        contentType: 'application/json',
        data: JSON.stringify(_data),
        success: _successFunctionPointer,
        error: InventValueRequest.HandleError
    });
}


Asp.Net MVC5(C#)部分

    [HttpPost]
    public ActionResult GetPreOrderIDForModelNumberID(string _modelnumberID)
    {
        String preOrderID = "";
        if (_modelnumberID == null)
        {
            preOrderID = "No value received";
        }
        else
        {
            //Do something
        }

        return Json(preOrderID);
    }


我的代码可能是什么问题?为什么我的C#部分没有收到任何值?似乎值已正确发送,至少有效负载包含了我期望的值。

最佳答案

_data应该具有如下所示的属性_modelnumberID

 _data = {'_modelnumberID': '1'}

09-17 15:47