asp.net-mvcasp.net-mvc-routingroute-constraint

Does ASP.NET MVC have any DateTime route constraints?


does ASP.NET MVC contain any route contraints baked into the code? if so, how do i define a date-time constraint?

eg. url:

http://mydomain.com/{versionDate}/{controller}/{action}
http://mydomain.com/2010-01-20/search/posts

cheers :)


Solution

  • I ended up making my own route constraint. only took a few mins.

    using System;
    using System.Web;
    using System.Web.Routing;
    
    namespace Whatever.Your.Funky.Cold.Medina.Namespace.Is
    {
        public class DateTimeRouteConstraint : IRouteConstraint
        {
            #region IRouteConstraint Members
    
            public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values,
                              RouteDirection routeDirection)
            {
                DateTime dateTime;
    
                return DateTime.TryParse(values[parameterName] as string, out dateTime);
            }
    
            #endregion
        }
    }
    

    simple :P