使用 Core 3.1 Razor 提交具有长文本字段(约 3000 个字符)的表单时出现 404.15 错误



当提交带有长文本字段的Core 3.1表单时,我得到:

HTTP 错误 404.15 - 未找到 请求过滤模块配置为拒绝查询字符串过长的请求。 最可能的原因: Web 服务器上的请求筛选配置为拒绝请求,因为查询字符串太长。

我已经搜索了较旧的答案,但没有找到特定于核心 3+ 的任何内容。

确保你的HTML表单上有method="post"。换句话说,您需要通过 POST 而不是 GET 发出请求(提交表单(,以便值进入请求正文,而不是查询字符串(即 URI(。

您要提交表单的操作类型是什么 - 是HttpGet还是HttpPost? 如果是 HttpGet,则 querystring 具有 certerain 限制因浏览器而异。请参考此链接 查询字符串的最大可能长度是多少?以获取有关此内容的详细信息。

话虽如此,一般来说,如果查询字符串超过它可以处理的长度,即使不施加任何此类限制,也会使用 HttpPost。

如果您同时发布代码视图和控制器操作,那么我们可以进一步提供帮助。

最新更新