【发布时间】:2016-01-09 18:52:59
【问题描述】:
这可能吗?
假设我们有这样的东西:
public ActionResult sim(string test)
{
return View();
}
所以我可以通过这样做来调用它:
localhost:55319/test/rat/sim?test=hi
是否可以显式更改测试查询字符串的值?
我试过了
@{
Request.Params.Set("test","hello");
}
我的程序刚刚中断,我想要更改test 的查询字符串值,而无需再次使用另一个获取请求,并且仅从视图本身。
【问题讨论】:
-
查询字符串是通过http请求传递值的非常通用的方式,您可以在创建链接时决定查询字符串!但我不明白你为什么要在收到请求后更改它?
-
目前仅用于实验目的,我只想知道是否可以通过代码更改它。我知道可以通过
Request访问它,但也可以更改它们吗? -
您是否尝试在浏览器 url 中更改它(在地址栏中)?
-
长而短,查询字符串是 URL 的一部分,即唯一标识资源的事物的一部分。当您更改它时,您正在更改您链接到的资源,这对于浏览器意味着加载一个新页面。如果不执行重定向,您无法在服务器端更改它。正是因为这个原因,
Request是只读的,这就是为什么您不能将参数设置为其他内容而不会出错。
标签: c# asp.net-mvc http url query-string