【问题标题】:MVC 4 Default Parameter ValueMVC 4 默认参数值
【发布时间】:2013-01-22 03:43:39
【问题描述】:

在 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有什么区别吗?

请注意,一些控制器操作将使用idstring 类型),而一些控制器操作将是无参数的。

【问题讨论】:

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


    【解决方案1】:

    区别很微妙,但几乎不重要

    UrlParameter.Optional 表示将 null 传递给 Action Method 以代替值。

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

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

    UrlParameter.Optional的情况下,你应该让所有相关的动作方法都带一个可以为空的参数

    类型很重要

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

    【讨论】:

    • 同样重要的是列表中的最后一个参数可以有默认值UrlParameter.Optional
    猜你喜欢
    • 1970-01-01
    • 2014-12-24
    • 2013-05-15
    • 2010-10-19
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多