【问题标题】:adding keys and values to query string将键和值添加到查询字符串
【发布时间】:2016-03-03 10:10:23
【问题描述】:

我正在努力:

foreach (JProperty o in obj.Properties())
{
   string ke = o.Name.ToString();
   string va = o.Value.ToString();
   HttpContext.Current.Request.QueryString.Add(ke,va);
}

但它给了我错误"collection is read-only"

我怎样才能向查询字符串添加值呢?

谢谢

【问题讨论】:

  • 它显示“只读”,意味着你不能添加。您必须创建一个新的并从头开始分配查询。

标签: c# .net get query-string


【解决方案1】:

Request.QueryString 是您从服务器收到的 url。你不能改变它。您可以做的是使用查询字符串执行响应重定向,如下所示:

string qs = "?";
foreach (JProperty o in obj.Properties())
{
   qs += o.Name.ToString();
   qs += "=" + o.Value.ToString() + "&";
}
Response.Redirect("url/index" + qs);

【讨论】:

  • 所以实际上使用重定向它会调用处理程序?
  • 不是召回而是打电话。它将创建/添加一个查询字符串并调用一个新的处理程序。
  • 在我的解决方案中我无法再次调用。所以在这种情况下,没有办法向 QueryString 添加值,对吗?
  • 是的,除非您再次调用,否则无法更改。如果您真的真的坚持要更改查询字符串,这是不好的做法,请查看stackoverflow.com/questions/15450505/…,它为您提供了在收到之前更改它的选项
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-10-25
  • 2013-01-09
  • 1970-01-01
  • 1970-01-01
  • 2019-04-02
  • 2011-02-11
相关资源
最近更新 更多