📜  将 request.form 转换为字典 c# (1)

📅  最后修改于: 2023-12-03 15:25:14.765000             🧑  作者: Mango

将 request.form 转换为字典 c#

在ASP.NET中,可以通过 Request.Form 属性获取表单中以 POST 方法传递的参数。默认情况下,Request.Form 返回的是一个特定类型的集合,其中包含了所有表单元素的键值对。然而,在某些情况下,我们可能需要将其转换为一个更为直观的字典类型,以便于我们更方便地操作表单元素。下面是一个简单的示例,展示了如何将 Request.Form 转换为字典类型:

using System.Collections.Generic;
using System.Linq;
using System.Web;

public static Dictionary<string, string> ToDictionary(this HttpValueCollection form)
{
    return form.AllKeys.ToDictionary(k => k, k => form[k]);
}

注意,这里的 HttpValueCollection 类型是 System.Web 命名空间下的一个特定类型,表示了一个 HTTP 请求表单集合。通过将其作为扩展方法的参数,我们可以在 Request.Form 中使用 ToDictionary() 方法,将返回结果转换成一个键值对字典类型。

在使用时,我们只需要在代码中使用以下语句即可:

var dict = Request.Form.ToDictionary();

这个就是一个简单实现方式, 如果你需要更加灵活的方式,可以试试 Automapper 或者其他类库。

参考文档: