日期:2014-05-17  浏览次数:20480 次

根据原始URL匹配得到要重写的URL地址
XML code

<UrlRewrite>
    <Rule Look="word-([0-9]+).aspx" Send="default.aspx?classid=0&amp;id=$1" />
    <Rule Look="word-([0-9]+)-([0-9]+).aspx" Send="default.aspx?classid=0|$1&amp;id=$2" />
</UrlRewrite>



如上XML配置文件,一般重写URL地址的情况如下:

访问 word-10.aspx 被重写的URL地址是 default.aspx?classid=0&id=10
访问 word-10-15.aspx 被重写的URL地址是 default.aspx?classid=0|10&id=15

但是现在我要反过来,写一个方法实现

根据 default.aspx?classid=0&id=10 地址,得到 word-10.aspx
根据 default.aspx?classid=0|10&id=15 地址,得到 word-10-15.aspx


请问这个如何用简单的方法实现,求救了。



------解决方案--------------------
C# code

            string content = "default.aspx?classid=0&id=10";
            System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(@"(?<=&id=)[\d]+");
            System.Text.RegularExpressions.Match m = reg.Match(content);
            MessageBox.Show("word-"+m.Value+".aspx");

------解决方案--------------------
把Look的([0-9]+)和Send的$对调,Send的&amp;改为&,再Replace