エラーをスローして素敵なエラーページを表示するのに役立つ ErrorController がありResponse.StatusCode
、別の StatusCode を返すために使用します
namespace Site.Controllers {
[OutputCache(Location = OutputCacheLocation.None)]
public class ErrorController : ApplicationController {
public ActionResult Index() {
ViewBag.Title = "Error";
ViewBag.Description = "blah blah";
return View("Error");
}
public ActionResult HttpError404(string ErrorDescription) {
Response.StatusCode = 404;
ViewBag.Title = "Page not found (404)";
ViewBag.Description = "blah blah";
return View("Error");
}
...
}
}
編集ajax結果にメッセージのみを返すために、actionFilterでこのようなものを使用します
Response.StatusCode = 200;
//Needed for IIS7.0
Response.TrySkipIisCustomErrors = true;
return new ContentResult {
Content = "ERROR: " + Your_message,
ContentEncoding = System.Text.Encoding.UTF8
};