C# 重写 URL 参数
本文关键字:参数 URL 重写 | 更新日期: 2023-09-27 18:36:56
我有一个简单的任务,没有简单的解决方案。我在浏览器中有一个参数需要更改或重写
例如 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"));
你可以做这样的事情:
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);
您不能将整个 URL 读成一个字符串,将其拆分为"?",然后将新位添加到字符串的第一部分吗?
像这样:
var url = Request.QueryString;
var newUrl = url.split('?');
url = newUrl[0] + "?country=France";
我不知道这是否可行,这只是一个想法
如果要
替换完整的查询字符串,请使用
newVal = string.LastIndexOf("?");
然后
URL.Replace(oldVal, newVal);
或者,如果查询字符串中只有一个参数,并且只想替换它的值,请使用
newVal = string.LastIndexOf("=");
URL.Replace(oldVal, newVal);
查看此详细响应以解决您的问题。