如何使用状态码返回EmptyResult

时间:2019-01-16 01:55:46

标签: asp.net-mvc

在ASP.NET MVC(带有.net 4.0)中,我需要返回HTTP 500结果代码和一个空白页。这是我尝试过的方法:

Response.StatusCode = (int) HttpStatusCode.InternalServerError;
return new EmptyResult();

Response.StatusCode = (int) HttpStatusCode.InternalServerError;
return Content("");

return new HttpStatusCodeResult(500);

但是它总是返回与此页面相似的页面(html)(包含500) https://i.stack.imgur.com/fKI9C.png

这实际上可行吗?

2 个答案:

答案 0 :(得分:0)

通过ASP.NET MVC操作,您可以采用以下任何格式返回结果:https://docs.microsoft.com/en-us/previous-versions/aspnet/dd410269(v=vs.98)

enter image description here

但是,如果要返回状态代码并显示它,只需创建一个视图并将状态发送给它并进行相应的操作即可:

控制器:

public ActionResult Index()
{
    return View("~/Views/Test.cshtml", HttpStatusCode.InternalServerError);
}

查看:

@{ Layout = null; }


<h3>@Model</h3>

答案 1 :(得分:0)

实际上我能够在Application_Error的“全球”中做到这一点

protected void Application_Error(object sender, EventArgs e)
        {

                Response.StatusCode = (int)HttpStatusCode.MethodNotAllowed;
                Response.Write(string.Empty);
                Response.End();
            }
        }