我如何从Web表单请求中返回HTTP 400-错误的请求错误?

问题描述 投票:2回答:3

主题几乎说明了一切。我有一个EstateReport Web表单,必须使用EstateId请求参数来调用它。我想返回一个适当的HTTP错误是我们不存在此参数。如何返回HTTP错误400作为响应?

在切线上,如果所需的参数不存在(我觉得更正确,还是应该重定向到报表的搜索页面,这对用户更友好,我应该返回错误吗?

asp.net webforms asp.net-4.0
3个回答
0
投票

因此,据我所知,表单需要一个参数来以有意义的方式显示结果。 400是一个错误请求,据我理解您的想法,该规范指出:

“由于语法格式不正确,服务器无法理解该请求。客户端不应在未经修改的情况下重复该请求。”

[从最纯粹的意义上讲,如果有人请求说不带参数的“ EstateReport.aspx”,服务器仍然可以解释该错误并以适当的响应进行回复,因此从广义上讲它不是一个“坏请求”。

[我的建议是,您检测到该参数的缺失,并通过页面链接呈现适当的错误消息,在该页面上,他们可以通过某种方式选择适当的“ estateId”,因此,当请求EstateReport时,该参数就会出现。


24
投票

您可以:

throw new HttpException(400, "Bad Request");

Response.StatusCode = 400;
Response.End();

但是我和下面的kd7有着相同的想法-为什么不向客户端显示错误消息,让他们知道出了什么问题?


1
投票
© www.soinside.com 2019 - 2024. All rights reserved.