この投稿を受け入れることになっているメソッドの署名を投稿できますか?
さらに、おそらく別の理由で、同じエラーメッセージが表示されます。私のYSODは、null許容値以外の値を含まない辞書について話しました。YSOD情報を取得する方法は、次のようにエラー戻りを処理するブレークポイントを$ .ajax関数に配置することでした。
<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
});
};
次に、私のerrorFuncjavascriptは次のようになります。
function(request, textStatus, errorThrown) {
$("#install").text("Error doing auto-installer search, proceed with ticket submission\n"
+request.statusText); }
IEを使用して、[表示]メニュー-> [スクリプトデバッガー]-> [次のステートメントで中断]に移動しました。次に、私の投稿を起動するコードをトリガーしました。選択ドロップダウンを開くとjQueryがトリガーされるため、これは通常、必要な場所ではなく、jQueryのライブラリの奥深くに移動しました。それで、StepOverを押すと、実際の次の行も壊れてしまい、それが私が望んでいた場所でした。次に、VSはそのページのクライアント側(動的)モードに入り、$("#install")
行を中断して、(マウスオーバーデバッグを使用して)request、textStatus、errorThrownの内容を確認できるようにしました。リクエスト。request.ResponseTextで、私が見たhtmlメッセージがありました:
<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>
それで、それをすべてチェックして、それが問題の一部である場合に備えて、コントローラーメソッドのシグネチャを投稿してください