【发布时间】:2014-12-25 18:31:02
【问题描述】:
我有这个控制器:
[HttpGet]
public ActionResult AjaxCall(string input)
{
// ...
if (!success)
{
Response.StatusCode = 404;
ViewBag.Output = ex.Message;
return View();
}
// ...
}
此控制器服务于一些 AJAX 调用。网络浏览器发送调用,我通过 HTTP-ERROR-CODES 返回结果。我使用了两个错误代码:200(成功)、404(失败)。
这就是我的视图的样子:
@{
Layout = null;
}
@Html.Raw(ViewBag.Output)
我的视图只是将错误消息打印到页面上。
在页面状态代码返回 404 错误代码之前一切正常。然后,代码忽略我的“ViewBag.Output”消息。我总是收到这条消息,而不是我的自定义消息:
您要查找的资源已被删除,有它的名字 已更改,或暂时不可用。
无论发生哪种错误。如您所料,这是系统默认的 404 错误代码消息。
如何在自定义消息中返回 404 错误代码?
【问题讨论】:
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
标签: c# asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4