我有一个简单的任务,没有简单的解决方案。 我在浏览器中有一个需要更改或重写的参数
例如www.contoso.com/countries.aspx?country=UK
我需要的是重写参数而不检查url,因此它可能显示为:
www.contoso.com/countries.aspx?country=France
我尝试过类似的东西,但没有快乐
string parameter2 = Request.QueryString["country"];
Context.RewritePath(parameter2.Replace("?country=", "France"));
答案 0 :(得分:1)
你可以这样做:
var url = "www.contoso.com/countries.aspx?country={0}";
var country = "UK";
url = String.Format(url, country);
或者你可以这样做:
var url = Request.Url.AbsolutePath;
var country = Request.QueryString["country"];
url = url.Replace(country, "UK");
然后:
Response.Redirect(url);
答案 1 :(得分:0)
你能不把整个网址读成一个字符串,把它拆分成'?'然后将新位添加到字符串的第一部分?
这样的事情:
var url = Request.QueryString;
var newUrl = url.split('?');
url = newUrl[0] + "?country=France";
我不知道这是否有用,只是一个想法
答案 2 :(得分:0)
如果要替换完整的查询字符串,请使用
newVal = string.LastIndexOf("?");
然后
URL.Replace(oldVal, newVal);
或者,如果查询字符串中只有一个参数,并且只想替换它的值,请使用
newVal = string.LastIndexOf("=");
URL.Replace(oldVal, newVal);
答案 3 :(得分:0)
查看this详细解决方案以解决您的问题。