ASP.NET MVC 2 Compatibility

Dec 13, 2009 at 5:45 PM

Just a note to those trying this with ASP.NET MVC 2:

If you run into problems where route tests won't pass, you will need download the source project and remove the reference to MVC 1 and replace it with a reference to MVC 2.  No code changes are necessary.

As a side note, I love this library.  Simple, elegant, useful.  Great stuff.

Jere

Jan 20, 2010 at 7:12 PM

If you want support for ASP.NET MVC ActionNames (as I do) you can add the following to RouteUtility:

                        string actionName = methodInfo.Name;
                        ActionNameAttribute actionNameAttribute = methodInfo.GetCustomAttributes(typeof(ActionNameAttribute), false).First() as ActionNameAttribute;
                        if(actionNameAttribute!=null) { actionName = actionNameAttribute.Name; }
                        // Add to list of routes.
                        routeParams.Add(new MapRouteParams()
                                        {
                                            RouteName = String.IsNullOrEmpty(routeAttrib.Name) ? null : routeAttrib.Name,
                                            Path = routeAttrib.Path,
                                            ControllerName = controllerName,
                                            ActionName = actionName,
                                            Order = routeAttrib.Order,
                                            Constraints = GetConstraints(methodInfo),
                                            Defaults = GetDefaults(methodInfo),
                                            ControllerNamespace = controllerClass.Namespace,
                                       });

string actionName = methodInfo.Name;
ActionNameAttribute actionNameAttribute = methodInfo.GetCustomAttributes(typeof(ActionNameAttribute), false).First() as ActionNameAttribute;
if(actionNameAttribute!=null) { actionName = actionNameAttribute.Name; }

Just before "routeParams.Add(new MapRouteParams()" and feed the new actionName into the route map.

Jan 22, 2010 at 12:10 PM

(that would be.FirstOrDefault(), I'll go away, sheepishly, now)