我确信我看起来很简单,但我不记得如何改变“GET”变量的价值来挽救我的生命。
例如,假设我有网址www.food.com/food.aspx?foodType=Healthy
我知道Request.QueryString["foodType"]
可用于检索值,但如果我想说,请将“Healthy
”更改为“Unhealthy
”,如何更改帖子上的值背部?
我现在正在为我的按钮使用点击事件,但我仍然坚持要更改“foodType
”的值。我尝试使用Request.QueryString.Add("foodType", "UnHealthy");
,但这不起作用。
有什么想法吗?
答案 0 :(得分:1)
我不确定您的用例是什么,但您无法修改该集合。正如@Grant所说,该集合是只读的。
如果你使用HttpRequest
的来源,它会像这样创建QueryString
集合:
new HttpValueCollection(_queryStringText, true, true, Encoding.Default);
第二个参数将集合设置为只读。
答案 1 :(得分:0)
据我所知,你做不到;该集合是只读的,仅在将响应作为原始请求的副产品返回时存在。您可以使用Response.Redirect(url)
,其中url
是原始网址,其值已更改 - 然后这将重新发出请求,服务器将有机会“使用”新变量并为用户提供服务结果(指向新URL,即使页面相同)。