System.ArgumentNullException:值不能为null。Jquery数据表

System.ArgumentNullException:值不能为null。Jquery数据表,jquery,asp.net-mvc,datatables,Jquery,Asp.net Mvc,Datatables,是的,我知道这是一个非常新手的问题,但我还是个新手 目前我正在学习jQueryDataTable,按照教程中的说明进行调试和其他工作,并坚持这一行代码 Request.Form.GetValues("draw").FirstOrDefault() 它抛出了一个错误,HttpRequest.Form为null,我也调试了它,它里面没有任何值 这是我的视图代码 @{ Layout = "~/Views/Shared/_Layout.cshtml"; } <script type=

是的,我知道这是一个非常新手的问题,但我还是个新手

目前我正在学习jQueryDataTable,按照教程中的说明进行调试和其他工作,并坚持这一行代码

Request.Form.GetValues("draw").FirstOrDefault()
它抛出了一个错误,HttpRequest.Form为null,我也调试了它,它里面没有任何值

这是我的视图代码

@{ 
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<script type="text/javascript">

        $('#table').dataTable({
            "ajax": {
                "url": "@{Html.Action("Read", "Roles", new { area = "PM" }); }",
                "contentType": "application/json; charset=utf-8",
                "type": "POST",
                "datatype": "json"
            },
            "processing": true,
            "serverSide": true,
            "orderMulti": false,
            "dom": '<"top"i>rt<"bottom"lp><"clear">', 
            "columns": [
                { "data": "ID", "name": "ID", "autowidth": true },
                { "data": "RoleName", "name": "RoleName", "autowidth": true }
            ]
        });
    $(document).ready(function () {
        $('#grid-src').hide();
    });
</script>

<div class="row" id="grid-src">
    <div class="col-10 offset-1">
        <div class="card card-primary">
            <div class="card-header">
                <h3>Search</h3>
            </div>
            <div class="card-body">
                @{
                    Html.RenderPartial("_Search");
                }
            </div>
        </div>
    </div>
</div>

<div class="row">
    <div class="form-control">
        <div class="col-12">
            <table id="table">
                <thead>
                    <tr>
                        <th>ID</th>
                        <th>Role Name</th>
                    </tr>
                </thead>
            </table>
        </div>
    </div>
</div>
@{
Layout=“~/Views/Shared/_Layout.cshtml”;
}
$('#表')。数据表({
“ajax”:{
“url”:“@{Html.Action(“Read”,“Roles”,new{area=“PM”});}”,
“contentType”:“application/json;charset=utf-8”,
“类型”:“职位”,
“数据类型”:“json”
},
“处理”:对,
“服务器端”:正确,
“orderMulti”:错误,
“dom”:“rt”,
“栏目”:[
{“data”:“ID”,“name”:“ID”,“autowidth”:true},
{“数据”:“RoleName”,“名称”:“RoleName”,“自动宽度”:true}
]
});
$(文档).ready(函数(){
$('#grid src').hide();
});
搜寻
@{
Html.RenderPartial(“_Search”);
}
身份证件
角色名
还有ajax方法

[HttpGet]
[Authorize]
public ActionResult Read()
{
    var gridviewControl = new GridviewControl();
    gridviewControl.Draw = Request.Form.GetValues("draw").FirstOrDefault();
    gridviewControl.CurrentIndex = Request.Form.GetValues("start").FirstOrDefault() == null ? 0 :
        Convert.ToInt32(Request.Form.GetValues("start").FirstOrDefault().ToString());
    gridviewControl.PageSize = Request.Form.GetValues("length") == null ? 0 :
        Convert.ToInt32(Request.Form.GetValues("length").ToString());
    gridviewControl.SortColumnName = Request.Form.GetValues
    (
        "columns[" +
        Request.Form.GetValues("[column]").FirstOrDefault().ToString() +
        "][name]"
    ).FirstOrDefault();
    gridviewControl.Direction = string.IsNullOrEmpty(Request.Form.GetValues("order[0][dir]").FirstOrDefault()) ? SortDirections.NONE :
        string.IsNullOrEmpty(Request.Form.GetValues("order[0][dir]").FirstOrDefault()).ToString().ToUpper() == "ASC" ? SortDirections.ASCENDING :
        SortDirections.DESCENDING;

    var mapper = mapConfig.CreateMapper();
    var srcView = new VWPMRoles()
    {
        RoleName = Request.Form.GetValues("columns[1][search]").FirstOrDefault()
    };

    var objSrc = mapper.Map<VWPMRoles, BOPMRoles>(srcView);

    var totalRow = 0;


    var roles = myDataAccessMethod(objSrc, gridviewControl, out totalRow);

    var result = new JsonResult();


    return Json(new
    {
        draw = gridviewControl.Draw,
        recordsFiltered = gridviewControl.CurrentIndex + gridviewControl.PageSize,
        recordsTotal = totalRow,
        data = roles,
        JsonRequestBehavior.AllowGet
    });
}
[HttpGet]
[授权]
公共行动结果读取()
{
var gridviewControl=新的gridviewControl();
gridviewControl.Draw=Request.Form.GetValues(“Draw”).FirstOrDefault();
gridviewControl.CurrentIndex=Request.Form.GetValues(“开始”).FirstOrDefault()==null?0:
Convert.ToInt32(Request.Form.GetValues(“start”).FirstOrDefault().ToString());
gridviewControl.PageSize=Request.Form.GetValues(“长度”)==null?0:
Convert.ToInt32(Request.Form.GetValues(“length”).ToString();
gridviewControl.SortColumnName=Request.Form.GetValues
(
“列[”+
Request.Form.GetValues(“[column]”)。FirstOrDefault().ToString()+
“][名称]”
).FirstOrDefault();
gridviewControl.Direction=string.IsNullOrEmpty(Request.Form.GetValues(“order[0][dir]”)FirstOrDefault())?SortDirections.NONE:
string.IsNullOrEmpty(Request.Form.GetValues(“order[0][dir]”)。FirstOrDefault())。ToString()。ToUpper()==“ASC”?SortDirections.ASCENDING:
SortDirections.downing;
var mapper=mapConfig.CreateMapper();
var srcView=new VWPMRoles()
{
RoleName=Request.Form.GetValues(“列[1][search]”)。FirstOrDefault()
};
var objSrc=mapper.Map(srcView);
var totalRow=0;
var roles=myDataAccessMethod(objSrc、gridviewControl、out totalRow);
var result=新的JsonResult();
返回Json(新的
{
draw=gridviewControl.draw,
recordsFiltered=gridviewControl.CurrentIndex+gridviewControl.PageSize,
recordsTotal=totalRow,
数据=角色,
JsonRequestBehavior.AllowGet
});
}

使用url操作,新手出错