Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.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,我已经开始在一个没有url重写的网站上工作。现在,请求使用友好的URL,所以我开始使用Intelligencia.UrlRewriter 让我们举一个例子: 我有一个方法: public static string getCategoriesIndexLink(string category) { string baseUrl = getBaseUrl() + (String)HttpContext.GetGlobalResourceObject("Paths", "categorii

我已经开始在一个没有url重写的网站上工作。现在,请求使用友好的URL,所以我开始使用Intelligencia.UrlRewriter

让我们举一个例子:

我有一个方法:

 public static string getCategoriesIndexLink(string category)
{
    string baseUrl = getBaseUrl() + (String)HttpContext.GetGlobalResourceObject("Paths", "categorii.index");
    return baseUrl.AddQueryParam(CQueryStringParameters.CATEGORY, category);
}
哪一个构建了这种URL

"~/Site/Categorii.aspx?category=$1"
现在,我在web.config中添加了以下规则:

<rewrite url="~/Site/Categorii/(.+)" to="~/Site/Categorii.aspx?category=$1" />
但是

没有蜜蜂需要改变它的结构

我的意思是,我有大约30种方法,就像上面的方法一样;如果能指导我在修改url结构的方法iso的输出中使用正则表达式,那将是非常有帮助的


提前谢谢…

你可以用这样的东西

Match mExprStatic = Regex.Match(BaseURL+@"/Site/Categorii/m1", BaseUrl+@"/site/categorii/(?<category>\S*)", RegexOptions.IgnoreCase | RegexOptions.Singleline);
 if (mExprStatic.Success || !string.IsNullOrEmpty(mExprStatic.Value))
 {
    string parameters = "?" + mExprStatic.Groups["category"].Value;
    if ((context.Request.QueryString.AllKeys != null) && (context.Request.QueryString.AllKeys.Length > 0))
    {
       foreach (string key in Request.QueryString.AllKeys)
              parameters += "&" + key + "=" + Request[key];
    }
  Server.Transfer("~/Site/Categorii.aspx" + parameters , false);
Match-mExprStatic=Regex.Match(BaseURL+@“/Site/categori/m1”,BaseURL+@“/Site/categori/(?\S*)”,RegexOptions.IgnoreCase|RegexOptions.Singleline);
if(mExprStatic.Success | | |!string.IsNullOrEmpty(mExprStatic.Value))
{
字符串参数=“?”+mExprStatic.Groups[“category”]值;
if((context.Request.QueryString.AllKeys!=null)&(context.Request.QueryString.AllKeys.Length>0))
{
foreach(Request.QueryString.AllKeys中的字符串键)
参数+=“&”+键+“=”+请求[键];
}
Server.Transfer(“~/Site/categori.aspx”+参数,false);
"~/Site/Categorii/m1"
Match mExprStatic = Regex.Match(BaseURL+@"/Site/Categorii/m1", BaseUrl+@"/site/categorii/(?<category>\S*)", RegexOptions.IgnoreCase | RegexOptions.Singleline);
 if (mExprStatic.Success || !string.IsNullOrEmpty(mExprStatic.Value))
 {
    string parameters = "?" + mExprStatic.Groups["category"].Value;
    if ((context.Request.QueryString.AllKeys != null) && (context.Request.QueryString.AllKeys.Length > 0))
    {
       foreach (string key in Request.QueryString.AllKeys)
              parameters += "&" + key + "=" + Request[key];
    }
  Server.Transfer("~/Site/Categorii.aspx" + parameters , false);