【问题标题】:How to check data is submitted in form, or in query string in ASP.NET Core Razor Pages?如何检查数据是在表单中提交的,还是在 ASP.NET Core Razor Pages 中的查询字符串中提交的?
【发布时间】:2022-01-17 10:11:37
【问题描述】:

我的 ASP.NET Core Razor 页面中有一个处理程序:

public IActionResult OnPostDoSomething()
{
    // How can I know that the data is sent in query string, or in form, or in headers?
}

从多个地方调用此方法,每个地方调用它的方式不同。一个通过表单,另一个通过 AJAX 调用并在查询字符串中发送参数。

我知道我可以检查if (Request.Query["key"].Count > 0),并据此了解使用了哪种方法。

但我想知道 ASP.NET Core Razor Pages 是否有内置技术让我知道一个表单 存在与否。例如if (Request.FormExists)

我正在寻找动态解决方案的原因是因为我正在构建动态代码并且我无权访问正在发送的参数的名称。

有办法吗?

【问题讨论】:

标签: c# asp.net asp.net-mvc asp.net-core razor-pages


【解决方案1】:

但我想知道 ASP.NET Core Razor Pages 是否有内置技术让我知道表单是否存在。

如果你想知道请求是否是通过表单发送的,你可以尝试在 headers 中检查content-type

if (HttpContext.Request.Headers["content-type"].ToString().Equals("application/x-www-form-urlencoded")) {
                //request is sent by a form
            }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-13
    • 1970-01-01
    • 1970-01-01
    • 2021-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-05
    相关资源
    最近更新 更多