我不确定这里发生了什么。
我有一个在我拥有的 jquery 脚本中调用的操作方法...
ondblClickRow: function (id) {
debugger;
var dummyURL ='@Url.Action("EditEncounter", "EditEncounter", new { encounterId = 0, popId = (int)TempData["POPULATIONID"] })';
var path = dummyURL.replace("-2", id);
document.location.href = path;
//new { encounterId = temp.EncounterId, popId = (int)TempData["POPULATIONID"] }'
}
出于某种原因,当我尝试使用 chrome 通过此路线导航到此页面时,出现此异常:
The parameters dictionary contains a null entry for parameter 'popId' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult EditEncounter(Int32, Int32)' in 'FocusedReadMissionsRedux.Controllers.EditEncounterController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.
Parameter name: parameters
但是在 IE 中,我调用了 action 方法,然后毫无意外地导航到了相应的页面。我肯定错过了什么?
更新 我注意到我得到了这个查询字符串......
encounterId=2245&popId=2
注意 ' &
' 和 ' amp;
'。我认为我的路线设置不正确。我会尝试几件事,让各位绅士知道会发生什么。
确认的
这是我在 Internet Explorer 中的路线
encounterId=2245&popId=2
它有效。我只需要弄清楚为什么这个特定请求会发生这种情况。
更新
当我尝试调试我的程序时,Visual Studio 不会更新生成的 cshtml 文件。任何人都经历过这个以及如何得到它?