繁体   English   中英

jQuery函数返回值,但未传递给MVC中的控制器

[英]Jquery Function Return value but but not pass to controller in MVC

当我单击编辑链接时,当我调试js代码函数getbyID时,将调用getbyID函数并返回两个参数,返回getbyID(16,1),但此值不会传递给控制器​​函数。 显示消息“参数字典包含空条目mReq_ID_Det和mSrno”。 任何人都可以告诉我哪里错了,这段代码有什么问题。

控制器:

public JsonResult GetbyID(Int64 mReq_ID_Det,int mSrno )
        {
            Requisition mReq = new Requisition();
            mReq = mRequisition_Select(mReq_ID_Det,mSrno);
            return Json(mReq, JsonRequestBehavior.AllowGet);
        }
        #endregion


        #region Select Requisition for Edit 
        public Requisition mRequisition_Select(Int64 mReq_ID_Det, int mSrNo)
        {

            try
            {
                Requisition mReq = new Requisition();


                con = new SqlConnection(constring);
                SqlCommand cmd = new SqlCommand("Select Req_ID_Det,SrNo,ItemCode,Qty,Remarks from RequisitionDetail where Req_ID_Det='"+ mReq_ID_Det + "' and SrNo='"+mSrNo+"'", con);
                cmd.CommandType = CommandType.Text;
                con.Open();

                DataTable mDT = new DataTable();
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(mDT);
                mReq.Req_ID_Det = mDT.Rows[0]["Req_ID_Det"].ToString();
                mReq.Srno = int.Parse(mDT.Rows[0]["SrNo"].ToString());
                mReq.ItemCode = mDT.Rows[0]["ItemCode"].ToString();
                mReq.Qty = float.Parse(mDT.Rows[0]["Qty"].ToString());
                mReq.Remarks = mDT.Rows[0]["Remarks"].ToString();

                con.Close();
                return mReq;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        #endregion

使用Javascript:

function loadData() {
        $.ajax({
            url: '@Url.Action("RequisitionList")',
            type: "GET",
            contentType: "application/json;charset=utf-8",
            dataType: "json",
            success: function (result) {

                var html = '';

                $.each(result, function (key, item) {
                    html += '<tr>';
                    html += '<td style="display:none">' + item.Req_ID_Det + '</td>';
                    html += '<td>' + item.Srno + '</td>';
                    html += '<td>' + item.ItemDesc + '</td>';
                    html += '<td>' + item.Qty + '</td>';
                    html += '<td>' + item.Remarks + '</td>';
                    html += '<td style=""> <a href="" onclick="return getbyID(' + item.Req_ID_Det + ',' + item.Srno.toString() + ')">Edit</a></td>';

                    html += '</tr>';
                });
                $('.flist').html(html);
            },
            error: function (errormessage) {
                alert(errormessage.responseText);
            }
        });
    }

 function getbyID(mReq_ID_Det, mSrno) {

        $.ajax({
            url: "/Home/GetbyID/" + mReq_ID_Det + "$" + mSrno,
            typr: "GET",
            contentType: "application/json;charset=UTF-8",
            dataType: "json",
            success: function (result) {
                $('#Req_ID_Det').val(result.Req_ID_Det);
                $('#Srno').val(result.Srno);
                $('#ItemCode').val(result.ItemCode);
                $('#Qty').val(result.Qty);
                $('#Remarks').val(result.Remarks);
                $('#myModal').modal('show');
                $('#saveRequisition').show();

            },
            error: function (errormessage) {
                alert(errormessage.responseText);
            }
        });
        return false;
    }  

您在typr上有一个错字,应该是type 另外,您只是在url而不是查询字符串上添加参数的值。

您可以尝试:

function getbyID(mReq_ID_Det, mSrno) {

    $.ajax({
        url: "/Home/GetbyID/".
        type: "GET",
        contentType: "application/json;charset=UTF-8",
        dataType: "json",
        data: {
            mReq_ID_Det: mReq_ID_Det,
            mSrno: mSrno
        },
        success: function (result) {
            $('#Req_ID_Det').val(result.Req_ID_Det);
            $('#Srno').val(result.Srno);
            $('#ItemCode').val(result.ItemCode);
            $('#Qty').val(result.Qty);
            $('#Remarks').val(result.Remarks);
            $('#myModal').modal('show');
            $('#saveRequisition').show();

        },
        error: function (errormessage) {
            alert(errormessage.responseText);
        }
    });
    return false;
}  

暂无
暂无

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

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