Bạn có thể đăng chữ ký của phương pháp được cho là chấp nhận bài đăng này không?
Ngoài ra, tôi nhận được thông báo lỗi tương tự, có thể vì một lý do khác. YSOD của tôi đã nói về việc từ điển không chứa giá trị cho giá trị không thể nullable. Cách tôi nhận được thông tin YSOD là đặt một điểm ngắt trong hàm $ .ajax để xử lý trả về lỗi như sau:
<script type="text/javascript" language="javascript">
function SubmitAjax(url, message, successFunc, errorFunc) {
$.ajax({
type:'POST',
url:url,
data:message,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success:successFunc,
error:errorFunc
});
};
Sau đó, javascript errorFunc của tôi như thế này:
function(request, textStatus, errorThrown) {
$("#install").text("Error doing auto-installer search, proceed with ticket submission\n"
+request.statusText); }
Sử dụng IE, tôi vào menu xem -> trình gỡ lỗi tập lệnh -> ngắt ở câu lệnh tiếp theo. Sau đó, kích hoạt mã sẽ khởi chạy bài đăng của tôi. Điều này thường đưa tôi đến một nơi nào đó sâu bên trong thư viện của jQuery thay vì nơi tôi muốn, bởi vì việc mở chọn thả xuống đã kích hoạt jQuery. Vì vậy, tôi nhấn StepOver, sau đó dòng tiếp theo thực sự cũng sẽ bị phá vỡ, đó là nơi tôi muốn. Sau đó, VS chuyển sang chế độ phía máy khách (động) cho trang đó và tôi đặt một khoảng ngắt $("#install")
dòng để tôi có thể xem (sử dụng chuột qua gỡ lỗi) những gì được yêu cầu, textStatus, errorThrown. yêu cầu. Trong request.ResponseText, có một thông báo html mà tôi thấy:
<title>The parameters dictionary contains a null entry for parameter 'appId' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ContentResult CheckForInstaller(Int32)' in 'HLIT_TicketingMVC.Controllers.TicketController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.<br>Parameter name: parameters</title>
vì vậy hãy kiểm tra tất cả những điều đó và đăng chữ ký phương thức bộ điều khiển của bạn trong trường hợp đó là một phần của sự cố