Từ điển thông số chứa mục nhập rỗng cho tham số 'appId' của loại không thể null 'System.Int32' cho phương thức 'System.Web.Mvc .ContentResult CheckForInstaller (Int32) 'trong' HLIT_TicketingMVC.Controllers.TicketController '. Tham số tùy chọn phải là loại tham chiếu, loại có thể không có giá trị hoặc được khai báo là tham số tùy chọn.
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
});
};
Đối tượng dữ liệu được xây dựng như sau:
var message={"appId":application.val()};
Tôi cũng đã thử một chuỗi jsonified:
var message="{'appId':"+application.val()+"}";
và
var message="{'appId':'"+application.val()+"'}";
Tôi xác nhận rằng thông điệp đang đi qua với một pr giá trị int hoạt động trước khi cố gắng đăng. Chuột lên debugger gần đây nhất cho thấy: {appId="6"}
Phương pháp chữ ký trên bộ điều khiển là:
public ContentResult CheckForInstaller(int appId)
Khi tôi loại bỏ các tham số từ các chữ ký phương pháp, nó nhấn breakpoint bên trong, vì vậy nó là một trong hai chữ ký cần thuộc tính của một số loại, hoặc tin nhắn không được xây dựng đúng cách tôi tin.
bạn có nhận được bất kỳ kết quả nào khi bạn thay đổi int thành chuỗi không: nội dung công cộngResult CheckForInstaller (String appId)? – Pbirkoff
Đối tượng ứng dụng đó là gì? Bạn có chắc nó hoạt động như mong đợi không? –
@ çağdaş - có khi tôi di chuột qua kết quả, nó cho thấy giá trị tôi mong đợi. @ Pbirkoff - Tôi đã không thử điều đó nhưng tìm thấy vấn đề, trả lời dưới đây được chấp nhận. – Maslow