MVC 4默认参数值

时间:2013-02-06 19:55:49

标签: c# asp.net asp.net-mvc asp.net-mvc-4 asp.net-mvc-routing

在MVC 4应用程序中定义路由时,我可以提供默认参数列表。我应该为可选参数提供什么值:UrlParameter.Optional空字符串

示例:

routes.MapRoute("simple", "{controller}/{action}/{id}",
  new {controller = "Home", action = "Index", id = UrlParameter.Optional});
routes.MapRoute("simple", "{controller}/{action}/{id}",
  new {controller = "Home", action = "Index", id = ""});

以上示例中的id = ""id = UrlParameter.Optional之间是否存在差异?

请注意,某些控制器操作将使用id(类型为string),而某些控制器操作将无参数。

1 个答案:

答案 0 :(得分:4)

差异很微妙,但几乎不重要

UrlParameter.Optional表示将null传递给Action Method而不是值。

id = ""表示默认值“”(非空)将传递给Action方法。

在这两种情况下,路由中不包含id参数都不会阻止MVC框架找到正确的方法。

UrlParameter.Optional的情况下,您应该使所有可关联的Action Methods采用可为空的参数

输入内容

您不应将id=""应用于使用整数的路由。