ASP.NET MVC 路由,具有单个可选参数,例如 site.com/optionalparameter



我一直在测试一些需要支持的网站的替代方案,例如

site.com
site.com/Controller/Action/id
site.com/various.aspx
site.com/optionalparameter  <-- these two go to the same controller
site.com/optionalparameter/ <-- these two go to the same controller

我实际上需要验证可选参数是否可以接受,但我可以将其定向到将对其进行验证的控制器。到目前为止,其他规则似乎有效,但我还没有能够让单个可选参数工作。

url 中的可选参数可以带或不带斜杠"/"(至少没有)。我发现了类似的问题,但它们似乎有"可选参数/xx/yy",所以规则有更多的参数并且它们似乎工作正常,但这有点特殊情况将非 mvc 站点转换为使用 MVC 路由。

我正在尝试做什么但不起作用的一个例子。

routes.MapRoute(
    "optionalParamRoute", 
    "{name}",
    new { controller = "Home", action = "Index", name = "" }
);

这可能吗?

尝试移动到可选参数的顶部:

routes.MapRoute(
    "optionalParamRoute", 
    "{name}",
    new { controller = "Home", action = "Index", name = "" }
);
// other routes

相关内容

最新更新