0

我有一些在控制器(MVC、C#)上调用操作方法的 javascript,定义了两个参数,都有值,但我得到一个空引用异常。这是调用动作方法的javascript

$("*[id^=popout1]").on("click", function () {
            //debugger;
            $(".FakeClass").dropdown('toggle');
            var id = this.getAttribute("data-id");
            var reportType = $('#ReportExecutionType').val();
            var url = '@Url.Action("PopUp", "Benchmark", new { cid = "_id_" , reportName = "_ret_"})'.replace('_id_', id).replace("_ret_", reportType);
            newwindow = window.open(url, 'name', 'height=800,width=850');
            if (window.focus) { newwindow.focus() }
            return false;
        });

这是生成的网址

"/Benchmark/PopUp?cid=113&reportName=17"

这是 c# 动作方法

[LayoutInjecter("_EmptyLayoutPage")]
    [HttpGet]
    public async Task<ActionResult> PopUp(int cid, Helpers.EnumHelper.Reports reportName)
    {
        return View("PopUp", await PopulateResponse(cid, reportName));
    }

但我得到这个错误

参数字典包含方法'System.Threading.Tasks.Task`1 [System.Web.Mvc.ActionResult] PopUp(Int32)的不可空类型'Common.Helpers.EnumHelper + Reports'的参数'reportName'的空条目, 报告)”在“Controllers.Benchmark.BenchmarkController”中。可选参数必须是引用类型、可空类型或声明为可选参数。参数名称:参数

我无法弄清楚这个,参数没有拼写错误并且它有一个值,那么为什么我会收到这个错误?

4

0 回答 0