如果在将记录添加到jqgrid时发生错误,我将从我的操作(asp mvc)返回以下内容
return new HttpStatusCodeResult(400, "item not found");
这一切都很棒,但添加对话框中显示的消息是
"error Status: 'Workorder not found'. Error code: 400"
有没有办法只显示“找不到项目”的消息?
看起来js永远不会在添加选项中转到afterSubmit例程。有什么方法可以获得控制并确保只显示实际的错误信息?像onError选项之类的东西会很棒!
答案 0 :(得分:0)
您可以使用errorTextFormat
回调表单编辑或jqGrid的jqGridAddEditErrorTextFormat
事件来控制错误消息中文本的格式。 errorTextFormat
回调的第一个参数(或jqGridAddEditErrorTextFormat
的第二个参数)是jqXHR
对象,它是XMLHttpRequest
的超集。参数的responseText
属性是响应正文的文本。
此外,您不应使用HttpStatusCodeResult
进行错误说明。您应该将错误说明放在HTTP响应正文中。例如,您可以使用WebFaultException
来执行此操作:
return throw new WebFaultException<string> (
"item not found",
HttpStatusCode.BadRequest); // 400
顺便说一句,HTTP状态代码404(HttpStatusCode.NotFound
)似乎更像是错误"item not found"
。