我不知道這裏發生了什麼。Asp.net MVC 4:錯誤在Chrome和不在Internet Explorer
我有被稱爲在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"] }'
}
,當我嘗試使用鉻我得到這個例外,通過這條路線導航到該頁面某些原因:
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中,我調用操作方法,並導航到適當的頁面,而沒有發生任何事件。我肯定錯過了什麼?
修訂 我注意到,我得到這個查詢字符串...
encounterId=2245&popId=2
通知thte '&
' 和 'amp;
'。我在想我的路線沒有正確設置。我會嘗試一些事情,讓你知道發生了什麼。
CONFIRMED
這是在Internet Explorer
encounterId=2245&popId=2
我的路線和它的作品。我只需要弄清楚爲什麼會發生這種特殊的請求。
UPDATE
Visual Studio是沒有更新,當我試圖調試我的程序生成的文件CSHTML。任何人都經歷過這件事,以及如何獲得它?
您在Chrome開發人員工具欄的「網絡」選項卡中看到了什麼?正在請求什麼網址?這是正確的嗎?另外,當您檢查頁面的HTML時,標記中的'dummyURL'的值是多少。還有一個最後的問題:'dummyURL.replace(「 - 2」,id)'行是什麼?你在方法內記錄了這個'id'變量的值嗎?另外你似乎在那裏使用TempData,因爲你知道它可以被驅逐,如果一箇中間請求正在讀取它。這可能是一個AJAX請求。 –
我確保tempdata字段已被水合。這條線讓我可以在觸發某個事件後獲得準確的路線。我將使用chrome檢查html流量。 – SoftwareSavant