asp.net-web-api – 如何访问所有querystring参数作为字典
发布时间:2020-05-23 13:49:54 所属栏目:asp.Net 来源:互联网
导读:我有一些动态查询字符串参数,我想与IDictionary string,string进行交互。我该如何做? 我试过了 public IHttpActionResult Get(FromUri]IDictionarystring, string selections) as suggested但是查询 /api/MyController?selections%5Bsub-category%5
|
我有一些动态查询字符串参数,我想与IDictionary< string,string>进行交互。我该如何做? 我试过了 public IHttpActionResult Get(FromUri]IDictionary<string,string> selections) as suggested但是查询 /api/MyController?selections%5Bsub-category%5D=kellogs 它总是给我一个有0个项目的字典。 我甚至不需要选择前缀。我真的只需要所有的querystring参数作为字典。我该怎么做,为什么上述不行? 解决方法您可以使用HttpRequestMessage上的GetQueryNameValuePairs extension method获取解析的查询字符串作为键值对的集合。
public IHttpActionResult Get()
{
var queryString = this.Request.GetQueryNameValuePairs();
}
并且您可以创建一些其他的扩展方法,以使eaiser能够如下所述进行操作:WebAPI: Getting Headers,QueryString and Cookie Values /// <summary>
/// Extends the HttpRequestMessage collection
/// </summary>
public static class HttpRequestMessageExtensions
{
/// <summary>
/// Returns a dictionary of QueryStrings that's easier to work with
/// than GetQueryNameValuePairs KevValuePairs collection.
///
/// If you need to pull a few single values use GetQueryString instead.
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public static Dictionary<string,string> GetQueryStrings(
this HttpRequestMessage request)
{
return request.GetQueryNameValuePairs()
.ToDictionary(kv => kv.Key,kv=> kv.Value,StringComparer.OrdinalIgnoreCase);
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – [DataType(DataType.EmailAddress)]和[EmailAdd
- asp.net-mvc-3 – 如何在Razor视图引擎中注册程序集
- asp.net-mvc-3 – 如何在Asp.Net Mvc 3中显示自定义错误页面
- webforms – ASP.Net Core 1.0是否支持WebForm项目
- webservice的两种调用方式
- asp.net-mvc – 如何绘制密码字段就像我们绘制Ember.TextFi
- asp.net-mvc – 尝试创建类型为’TypeNewsController’的控
- asp.net – SQL – 两个不同长度的字符串之间的相似性
- asp.net-mvc – Asp.Net MVC捆绑,最好的方式来检测丢失的文
- asp.net-mvc – 具有多个路由值的Url.Action帮助器的问题
推荐文章
站长推荐
热点阅读
