相关疑难解决方法(0)

URL Querystring - 查找,替换,添加,更新值?

我们从另一家公司继承了一些C#代码作为项目的一部分,该公司执行URL重定向,根据需要修改现有查询字符串,更改项目值,添加新参数等.但问题是代码充其量只是错误,最终会复制查询字符串中的项目而不是正确更新它们.该代码适用于第一次通过,但在其他调用时,重复问题变得明显.

例如:MyPage.aspx?startdate = 08/22/09&startdate = 09/22/09

它不需要复制项目,而是需要使用新值(如果已存在)进行更新,或者如果不存在则添加.

是否有一个C#类或一组函数来处理查询字符串,允许一种简单的方法来访问和更新/添加解决这些问题的参数,而不是现在似乎在使用代码的盲添加方法?这需要能够处理可能始终存在或不存在的多个参数,并在后续调用中添加和更新.

我们将尽快使用现有逻辑,而不是在可能的情况下重新创建某些内容,以便以半标准方式快速解决此问题,以便将来进行可维护性和重用.

c# url query-string

14
推荐指数
1
解决办法
3万
查看次数

使用ac#lambda有效的将NameValueCollection转换为查询字符串?

在研究如何将NameValueCollection转换为查询字符串时,我遇到了不同的方法.如果较短的lambda语法尽可能高效,我很好奇.

如何使用迭代函数将NameValueCollection转换为(Query)String.

public static String ConstructQueryString(NameValueCollection parameters)
{
    List<String> items = new List<String>();

    foreach (String name in parameters)
        items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(parameters[name])));

    return String.Join("&", items.ToArray());
}
Run Code Online (Sandbox Code Playgroud)

将一个NameValueCollection加入到C#中的查询字符串中使用一个lambda表达式,看起来不错,但我不确定它是否是高效的代码.

private static string JoinNvcToQs(NameValueCollection qs)
{
    return string.Join("&", Array.ConvertAll(qs.AllKeys, key => string.Format("{0}={1}", HttpUtility.UrlEncode(key), HttpUtility.UrlEncode(qs[key]))));
}
Run Code Online (Sandbox Code Playgroud)

c# performance lambda query-string

10
推荐指数
2
解决办法
7347
查看次数

标签 统计

c# ×2

query-string ×2

lambda ×1

performance ×1

url ×1