什么是MVC5中的@“ \ d {}”

时间:2018-07-24 18:06:06

标签: asp.net-mvc asp.net-mvc-5

我正在学习MVC 5,最近我的导师正在解释有关设置自定义路线的信息。在我们的自定义路线中,我们有url:movies/BySelected/{year}/{month}。 我们需要年份为4位数,月份为2位数。

因此他添加了一些代码:@"\d{4}",@"\d{2}"

那是什么意思?

1 个答案:

答案 0 :(得分:1)

就像评论说的那样,这是添加路线约束的一种方式。但这似乎不是正确的选择,除非您计划有两个单独的动作来处理电影/ byselected

例如:

def _str(self): typ = type(self).__name__ vars = {name: value for name, value in inspect.getmembers(self) if not name.startswith('_')} return(f"Instance of {typ}, vars = {vars}") movies/byselected/{MovieName}

以下是相关的Microsoft文档的警告: ``` 警告

避免使用约束进行输入验证,因为这样做意味着无效输入将导致404(未找到),而不是带有适当错误消息的400。路线约束应用于消除相似路线之间的歧义,而不是验证特定路线的输入。 ```

此外-约束的语法更好:

在MVC5中,您可以使用属性路由,然后可以使用内联约束语法,但是在此时,您可能应该看一下MVC核心。您可以指定:

movies/byselected/{year}/{month}