我有一些javascript调用控制器上的动作方法(MVC,C#),定义了两个参数,两个都有值,但我得到一个空引用异常。下面是调用action方法的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;
});
这是生成的网址
“/基准/弹出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));
}
但我收到此错误
参数字典包含参数'reportName'的空条目,该参数为'可空类型'Common.Helpers.EnumHelper + Reports',用于方法'System.Threading.Tasks.Task`1 [System.Web.Mvc.ActionResult] 'Controllers.Benchmark.BenchmarkController'中的PopUp(Int32,Reports)'。可选参数必须是引用类型,可空类型,或者声明为可选参数。 参数名称:参数
我无法想出这个,参数没有拼写错误且有值,为什么我会收到此错误?