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"));

C# 重写 URL 参数

你可以做这样的事情:

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);

查看此详细响应以解决您的问题。