【问题标题】:Change a the value of a GET / POST variable更改 GET / POST 变量的值
【发布时间】:2013-01-25 14:11:43
【问题描述】:

我确定我看多了一些简单的东西,但我不记得如何更改“GET”变量的值来挽救我的生命。

例如,假设我有网址www.food.com/food.aspx?foodType=Healthy

我知道Request.QueryString["foodType"] 可以用来检索值,但是如果我想说,将“Healthy”更改为“Unhealthy”,我将如何更改回发时的值?

我现在正在为我的按钮使用点击事件,但我一直在更改“foodType”的值。我尝试使用Request.QueryString.Add("foodType", "UnHealthy");,但没有奏效。

有什么想法吗?

【问题讨论】:

  • 不确定这是否是您想要的,但可能会有所帮助。如果不是我会删除这条评论stackoverflow.com/questions/3813934/…
  • 他们调用的是同一个 url 吗?注意Get方法不能调用Post方法

标签: c# asp.net post get


【解决方案1】:

我不确定您的用例是什么,但您无法修改集合。正如@Grant 已经提到的,该集合是只读的。

如果您使用查看HttpRequest 的源代码,它会创建QueryString 集合,如下所示:

new HttpValueCollection(_queryStringText, true, true, Encoding.Default); 

第二个参数将集合设置为只读。

【讨论】:

    【解决方案2】:

    据我所知,你不能;该集合是只读的,并且仅在将响应作为原始请求的副产品返回时存在。您可以使用Response.Redirect(url),其中url 是更改了值的原始URL - 然后这将重新发出请求,服务器将有机会“使用”新变量并为用户提供结果(定向到新 URL,即使页面相同)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-29
      • 2023-04-06
      • 2012-06-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多