0

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

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

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

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

有任何想法吗?

4

2 回答 2

1

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

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

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

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

于 2013-01-25T14:26:02.577 回答
0

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

于 2013-01-25T14:19:30.783 回答