从视图中更改地址栏的GET请求查询字符串值

时间:2015-10-12 10:17:33

标签: c# asp.net-mvc http url query-string

这可能吗?

说我们有类似的东西:

public ActionResult sim(string test)
{
        return View();
}

所以我可以通过这样的方式来称呼它:

localhost:55319/test/rat/sim?test=hi

是否可以显式更改测试查询字符串的值?

我试过了

@{
Request.Params.Set("test","hello");
}

我的程序刚刚破解,我想要发生的是更改test的查询字符串值,而不再使用另一个get请求,而只是从视图本身。

1 个答案:

答案 0 :(得分:1)

A)服务器端:您可以通过重定向到具有不同参数值的同一页面来更改查询字符串。客户端将看到页面刷新,这可能不是很愉快。

return Redirect("/test/rat/sim?test="+ newValue);

B)客户端:如果您只是希望浏览器上的URL看起来不同(没有页面刷新,即重定向到新页面),则需要使用javascript的History对象(https://developer.mozilla.org/en-US/docs/Web/API/History_API),非常不幸的是,旧浏览器不支持。