Saya tidak yakin apa yang sedang terjadi di sini.
Saya memiliki metode tindakan yang disebut dalam skrip jquery yang saya miliki...
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"] }'
}
untuk beberapa alasan ketika saya mencoba menavigasi ke halaman ini melalui rute ini menggunakan chrome saya mendapatkan pengecualian ini:
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
Namun di IE, saya memanggil metode tindakan dan saya menavigasi ke halaman yang sesuai tanpa insiden. Saya pasti melewatkan sesuatu?
DIPERBARUI Saya perhatikan saya mendapatkan string kueri ini...
encounterId=2245&popId=2
Perhatikan '&
' dan 'amp;
'. Saya pikir rute saya tidak diatur dengan benar. Saya akan mencoba beberapa hal dan memberi tahu Anda apa yang terjadi.
DIKONFIRMASI
ini adalah rute yang saya miliki di internet explorer
encounterId=2245&popId=2
Dan itu berhasil. Saya hanya perlu mencari tahu mengapa hal ini terjadi untuk permintaan khusus ini.
PEMBARUAN
Visual studio tidak memperbarui file cshtml yang dihasilkan ketika saya mencoba men-debug program saya. Adakah yang mengalami hal ini dan bagaimana cara mengatasinya?
Network
pada toolbar pengembang Chrome? Url apa yang diminta? Apakah itu yang benar? Juga ketika Anda memeriksa HTML halaman berapa nilaidummyURL
di markup. Dan satu pertanyaan terakhir: ada apa dengan barisdummyURL.replace("-2", id)
? Apakah Anda mencatat nilai variabelid
ini di dalam metode? Tampaknya Anda juga menggunakan TempData di sana seperti yang Anda tahu, TempData dapat dikeluarkan jika permintaan perantara yang membacanya telah dibuat. Misalnya, ini bisa berupa permintaan AJAX. - person Darin Dimitrov   schedule 15.01.2013