Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#重写url参数_C#_Asp.net_Url Rewriting - Fatal编程技术网

c#重写url参数

c#重写url参数,c#,asp.net,url-rewriting,C#,Asp.net,Url Rewriting,我有一个简单的任务,没有一个简单的解决方案。 我在浏览器中有一个参数需要更改或重写 例如www.contoso.com/countries.aspx?country=UK 我所需要的只是重写参数而不检查url,这样它可能会显示为: www.contoso.com/countries.aspx?country=法国 我试过那样的东西,但没有乐趣 string parameter2 = Request.QueryString["country"]; Context.RewritePath(param

我有一个简单的任务,没有一个简单的解决方案。 我在浏览器中有一个参数需要更改或重写

例如www.contoso.com/countries.aspx?country=UK

我所需要的只是重写参数而不检查url,这样它可能会显示为:

www.contoso.com/countries.aspx?country=法国

我试过那样的东西,但没有乐趣

string parameter2 = Request.QueryString["country"];
Context.RewritePath(parameter2.Replace("?country=", "France"));

您不能将整个URL读入一个字符串,在“?”上拆分它,然后将新的位添加到字符串的第一部分吗

大概是这样的:

    var url = Request.QueryString;
    var newUrl = url.split('?');
    url = newUrl[0] + "?country=France";

我不知道这是否行得通,这只是一个想法,你可以这样做:

    var url = Request.QueryString;
    var newUrl = url.split('?');
    url = newUrl[0] + "?country=France";
var url=“www.contoso.com/countries.aspx?country={0}”

var country=“英国”

url=String.Format(url,国家)

或者,您可以执行以下操作:

var url=Request.url.AbsolutePath

var country=Request.QueryString[“country”]

url=url.Replace(国家,“英国”)

然后:


Response.Redirect(url)

如果要替换完整的查询字符串,请使用

newVal = string.LastIndexOf("?");
然后

URL.Replace(oldVal, newVal);
或者,如果您在querystring中只有一个参数,并且只想替换它的值,请使用

newVal = string.LastIndexOf("=");
URL.Replace(oldVal, newVal);

查看详细的响应以找到问题的解决方案。

不必要。为什么要这样做?他在重写方面有问题,获取参数不应该是一个问题…你什么时候尝试这样做?在按钮或超链接之类的事件之后,代码应该只更改该参数而不更改任何其他内容。谢谢,url已经是www.contoso.com/countries.aspx?country=UK,我需要重新发布参数。啊哈,所以这只有在你事先知道URL的情况下才会起作用,我猜你事先不知道。它工作得非常好,我对你的示例做了一些调整,response.redirect让我了解了如何重新发布字符串,谢谢