1
我有一个简单的路由映射。Url.Action()不会删除默认值
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}/{seoName}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional, seoName = UrlParameter.Optional }
);
现在,如果使用Url.Action("Index", "Home")
,它不会正确地删除路由的默认值。它给了我/Home/Index
。
现在,如果我删除{id}
或{seoName}
及其相应的默认值,那么该URL将正确生成,如/
(root)。
我在这里失踪了什么?它似乎不是一个环境价值,因为我正在访问没有id的主页,也没有seoNames。
任何想法?
只有最后一个参数可以被标记'UrlParameter.Optional' –
@StephenMuecke没有意识到的,有趣的。请回答问题以接受它。 –
恩科西已经添加了一个:) –