为什么 Kentico 表单在提交时创建一个长查询字符串

Why Kentico form creates a long query string on submit

我在 Kentico 中准备了一个自定义表单,它有大约 15 个字段。当我提交表单时,它会创建一个导致错误的长查询字符串 -

请求过滤模块配置为拒绝查询字符串过长的请求。

我是不是在设置表单时做错了什么?

当获取查询字符串太长错误时,通常意味着查询字符串超出了其最大查询字符串大小,您可以尝试通过在请求过滤部分设置 maxQueryString 属性来增加最大查询字符串大小你的 web.config.

    <system.webServer>
        <security>
            <requestFiltering>
              <requestLimits maxAllowedContentLength="9096648" />
            </requestFiltering>
        </security>
 </system.webServer>

这应该可以解决您的问题。

您有没有在市场上使用 request filtering module?尝试禁用它或卸载它以查看它是否改变了这种情况。肯定是里面的一些设置或者规则。

只是为了更新大家。母版页上的 HTML 包含另一个用于搜索框的标签,这对于不知道 .NET 不喜欢其他标签的设计人员来说是典型的。并且 KC 添加了另一个标签来包装导致回发错误的 biz-form 布局。删除这些标签后,一切正常。