MapRoute MVC中的调用方法

时间:2014-11-25 22:37:31

标签: asp.net-mvc asp.net-mvc-routing maproute

是否可以从" url"传递参数?在"默认"中的方法的部分MapRoute的一部分?

routes.MapRoute(
               name: "Language",
               url: "{language}/{controller}/{action}/{id}-{description}",
               defaults: new { Controller = "Home", action = "Index", id = UrlParameter.Optional, language = UrlParameter.Optional, description = GetDescription(id) }
           );

我可以在没有任何参数的情况下调用GetDescription(),但我不知道如何从url传递参数ie。 GetDescription(ID)

1 个答案:

答案 0 :(得分:1)

我认为你误解了路线定义的概念。您无法在死记硬背注册过程中添加动态行为,因为它仅在application start event上执行一次。当路由引擎在提供的URL中找不到合适的参数时,将使用defaults参数。您在网址生成级别上尝试做的是什么:

@Html.ActionLink("Home", "Index", new { language = "en", id=5, description = "test" })