【发布时间】:2014-02-20 08:10:25
【问题描述】:
我正在使用 ASP.NET MVC3、Kendo UI 和 Jquery。当上传文件的处理未通过我们拥有的验证规则时,我正在尝试将错误消息传递回视图。
这是我认为的上传控件:
@(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")
))
以下是控制器中 SaveForm 方法的相关部分:
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 ));
}
这是我的 Jquery 错误函数:
function onUploadError(e)
{
alert(e.message);
}
在我的控制器中,ex.Message 是一个自定义错误消息,我想将它传递回视图以进行显示。通过查看控制器中注释掉的代码行,您可以看到我尝试将其传递回来的所有不同变体。
jquery 错误函数正在执行。唯一的问题是我似乎无法在 jquery 中获得我的自定义错误消息。
在评估 e.XMLHTTPRequest 时
它有以下内容:
responseText = "尝试获取服务器响应时出错" 状态 = 500 StatusText = "错误"
那么如何将我的自定义错误消息放入 XMLHTTPRequest 的上述元素之一?我认为我的控制器上的返回需要以某种方式进行修改。
【问题讨论】:
标签: jquery asp.net-mvc asp.net-mvc-3 kendo-ui