Kendo-Upload-Steuerelement, Übergeben von benutzerdefinierten Fehlermeldung zurück anzeigen

Arbeite ich mit ASP.NET MVC3, Kendo UI und Jquery. Ich bin versucht, übergeben Sie eine Fehler-Nachricht zurück zu der Ansicht, wenn die Verarbeitung einer hochgeladenen Datei nicht passieren Validierung Regeln, die wir haben.

Hier ist meine upload-Steuerelement aus meiner Sicht:

@(Html.Kendo().Upload()
  .Name("files")
  .Async(a => a
  .Save("SaveForm", "Home")
  .Remove("RemoveForm", "Home")
  .AutoUpload(true))
  .Events(events => events
  .Success("onSuccess")
  .Error("onUploadError")
  .Select("onSelect")
  ))

Hier sind die relevanten Teile des SaveForm Methode im controller:

try
{
      FieldDefinitions = ProcessPDFFile(file.FileName);
}
catch (InvalidDataException ex){
    List<String> errors = new List<String>();
    errors.Add(ex.Message);
    Response.StatusCode = 500;
    Response.TrySkipIisCustomErrors = true;

    //return Json(new { success = false, statusText = "error error" }, "text/plain");
    //ModelState.AddModelError("pp", ex.Message);
    //var result = ModelState.ToDataSourceResult();
    //return Json(errors, JsonRequestBehavior.AllowGet);
    //return Json(new { status = "OK" }, "text/plain");
    //return Json(String.Concat(errors.ToArray()));
    //return Json(new AjaxResult(false, ex.Message, errors ));
}

Hier mein Jquery error-Funktion:

function onUploadError(e)
{
    alert(e.message);
}

In meinem controller, ex.Nachricht ist eine benutzerdefinierte Fehlermeldung aus und ich will es pass zurück in die Ansicht für die Anzeige. Sie können sehen, all die verschiedenen Varianten, die ich versucht, übergeben Sie es zurück, indem man die auskommentierten Zeilen code in meinen controller.

Den jquery-Fehler-Funktion wird immer ausgeführt. Das problem ist nur, ich kann nicht scheinen, um meine benutzerdefinierte Fehlermeldung in der jquery.

Beim auswerten e.XMLHTTPRequest

es hat folgenden Wortlaut:

responseText = "Error trying to get server response"
Status = 500
StatusText = "error"

So, wie bekomme ich meine benutzerdefinierte Fehlermeldung in einem der oben genannten Elemente des XMLHTTPRequest? Ich nehme an, die Rendite auf mein controller muss geändert werden, irgendwie.

InformationsquelleAutor carlg | 2014-01-28
Schreibe einen Kommentar