Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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
Asp.net mvc 这些运营商做什么?_Asp.net Mvc_Regex_Vb.net_Url - Fatal编程技术网

Asp.net mvc 这些运营商做什么?

Asp.net mvc 这些运营商做什么?,asp.net-mvc,regex,vb.net,url,Asp.net Mvc,Regex,Vb.net,Url,我在MVC中工作,需要将博客url从/about/blog更改为/blog。。。说起来容易做起来难哈哈 我正在浏览控制器和其他各种.vb文件,试图解决这个问题,并且遇到了URL路由系统 以下两者之间有什么区别(暂时忽略命名) 及 我想我最困惑的是知道它在寻找什么和在做什么,也就是说,这意味着什么?你看到的是路线约束。基本上,您使用约束(在您的例子中,这些是正则表达式约束)来告诉路由系统在哪些条件下可以调用这些路由 第一个正则表达式值“^[a-zA-Z_]+$表示“操作可以以括号中定义的任何字符开

我在MVC中工作,需要将博客url从
/about/blog
更改为
/blog
。。。说起来容易做起来难哈哈

我正在浏览控制器和其他各种.vb文件,试图解决这个问题,并且遇到了URL路由系统

以下两者之间有什么区别(暂时忽略命名)


我想我最困惑的是知道它在寻找什么和在做什么,也就是说,这意味着什么?你看到的是路线约束。基本上,您使用约束(在您的例子中,这些是正则表达式约束)来告诉路由系统在哪些条件下可以调用这些路由

第一个正则表达式值“
^[a-zA-Z_]+$
表示“操作可以以括号中定义的任何字符开始和结束。这些字符只能由小写字母a到Z、大写字母a到Z和下划线字符组成。重复一次或多次。”

更精确地说,“给定类[a-zA-Z_2;]中定义的任何字符一次或多次。”

另一个值是
^[a-zA-Z][a-zA-Z0-9\\-\\\\\\\\\\\\\\\\\\\\\\\\\]*$
表示“一个段塞必须以字母a到Z或大写字母a到Z开始和结束,之后它可以有零个或多个范围在a到Z或a到Z的字符,或者0到9之间的数字,或者下划线、破折号或管道”

就这样。您可能想了解有关正则表达式的更多信息。查看此站点

您看到的是路线约束。基本上,您使用约束(在您的例子中,这些是正则表达式约束)来告诉路由系统在哪些条件下可以调用这些路由

第一个正则表达式值“
^[a-zA-Z_]+$
表示“操作可以以括号中定义的任何字符开始和结束。这些字符只能由小写字母a到Z、大写字母a到Z和下划线字符组成。重复一次或多次。”

更精确地说,“给定类[a-zA-Z_2;]中定义的任何字符一次或多次。”

另一个值是
^[a-zA-Z][a-zA-Z0-9\\-\\\\\\\\\\\\\\\\\\\\\\\\\]*$
表示“一个段塞必须以字母a到Z或大写字母a到Z开始和结束,之后它可以有零个或多个范围在a到Z或a到Z的字符,或者0到9之间的数字,或者下划线、破折号或管道”

就这样。您可能想了解有关正则表达式的更多信息。查看此站点

太棒了,这很清楚。因此,
控制器
用于定义要使用的控制器?是。我写了一篇关于路由的文章,所以你可能想在这里检查一下:虽然这是用C语言编写的,但即使你是VB程序员,你仍然可以得到一张图片。这确实很有帮助,所以博客显示在
/blog/blog
,它显示在
/about/blog/
。我已将文件移动到正确的“视图”文件夹中,并将操作从about控制器迁移到blog控制器。将上面代码中的控制器定义为
会删除第一个“blog”吗?我不确定我是否理解你的意思?你所说的“将在上面的代码中定义控制器为”“删除第一个‘blog’?”是什么意思?你指的是
?目前,blog URL是
/blog/blog
,但显然这很糟糕,应该是
/blog
。那么{controller}(或{action})部分可以从URL中删除吗?太棒了,这很清楚。因此,
控制器
用于定义要使用的控制器?是。我写了一篇关于路由的文章,所以你可能想在这里检查一下:虽然这是用C语言编写的,但即使你是VB程序员,你仍然可以得到一张图片。这确实很有帮助,所以博客显示在
/blog/blog
,它显示在
/about/blog/
。我已将文件移动到正确的“视图”文件夹中,并将操作从about控制器迁移到blog控制器。将上面代码中的控制器定义为
会删除第一个“blog”吗?我不确定我是否理解你的意思?你所说的“将在上面的代码中定义控制器为”“删除第一个‘blog’?”是什么意思?你指的是
?目前,blog URL是
/blog/blog
,但显然这很糟糕,应该是
/blog
。那么{controller}(或{action})部分可以从URL中删除吗?
    ' Route 1
    routes.MapRoute( _
        "legal", _
        "{action}",
        New With {.controller = "home", .action = "index"},
        New With {.action = "^(terms|privacy|cookies|responsiblegaming|disclaimer|legal|acceptableuse)$"},
        New String() {"ProjectMVC"}
    )
    ' Route 2
    routes.MapRoute( _
        "legal", _
        "{action}",
        New With {.controller = "home", .action = "index"},
        New With {.action = "^[a-zA-Z_]+$", .slug = "^[a-zA-Z][a-zA-Z0-9_\-\|]*$"},
        New String() {"ProjectMVC"}
    )