Können Sie die Signatur Ihrer Methode veröffentlichen, die diesen Beitrag akzeptieren soll?
Außerdem erhalte ich dieselbe Fehlermeldung, möglicherweise aus einem anderen Grund. Mein YSOD hat darüber gesprochen, dass das Wörterbuch keinen Wert für den nicht nullbaren Wert enthält. Die Art und Weise, wie ich die YSOD-Informationen erhielt, bestand darin, einen Haltepunkt in die $ .ajax-Funktion zu setzen, der eine Fehlerrückgabe wie folgt behandelte:
<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
});
};
Dann ist mein errorFunc-Javascript so:
function(request, textStatus, errorThrown) {
$("#install").text("Error doing auto-installer search, proceed with ticket submission\n"
+request.statusText); }
Mit IE ging ich zum Menü -> Skript-Debugger -> Pause bei der nächsten Anweisung. Dann ging ich, um den Code auszulösen, der meinen Beitrag starten würde. Dies führte mich normalerweise irgendwo tief in die Bibliothek von jQuery, anstatt dorthin, wo ich wollte, da die ausgewählte Dropdown-Öffnung jQuery auslöste. Also drückte ich StepOver, dann brach auch die nächste Zeile, wo ich sein wollte. Dann wechselt VS für diese Seite in den clientseitigen (dynamischen) Modus, und ich habe eine Unterbrechung in die $("#install")Zeile eingefügt, damit ich (mit der Maus über das Debuggen) sehen kann, was angefordert wurde, textStatus, errorThrown. Anfrage. In request.ResponseText gab es eine HTML-Nachricht, in der ich sah:
<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>
Überprüfen Sie dies alles und veröffentlichen Sie die Signatur Ihrer Controller-Methode, falls dies Teil des Problems ist