Scenario; you have to pass wildcard requests to a controller for processing. Think myspace.com style vanity names.

Solution: Not as nice as .htaccess but it works; and I think I’m doing it write.

Step 1: Add Routes to Global.asa

   1:  routes.MapRoute(
   2:      "Default", 
   3:      "{controller}/{action}/{id}", 
   4:      new { controller = "Home", action = "Index", id = "" },
   5:      new { controller = new Constraints("Account", "User", "Home") }
   6:  );
   7:   
   8:  routes.MapRoute(
   9:      "User", 
  10:      "{id}", 
  11:      new { controller = "User", action = "Index", id = "" }
  12:  );

Step 2: Create Class that implements IRouteConstraint

 

   1:  public class Constraints : IRouteConstraint
   2:      {
   3:          private string[] _matches = null;
   4:   
   5:          public Constraints(params string[] matches)
   6:          {
   7:            _matches = matches;
   8:          }
   9:   
  10:          public bool Match(HttpContextBase httpContext, 
  11:                              Route route, 
  12:                              string parameterName, 
  13:                              RouteValueDictionary values, 
  14:                              RouteDirection routeDirection)
  15:          {
  16:            bool foundMatch = false;
  17:            foreach (string match in _matches)
  18:            {
  19:                if (String.Compare(values[parameterName].ToString(), match, true)
  20:                        == 0)
  21:                {
  22:                    foundMatch = true;
  23:                }
  24:                 
  25:            }
  26:            return foundMatch;//not matching!
  27:          }
  28:      }
Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

  One Response to “ASP.NET MVC Routing domain.com/*”

  1. [...] to VoteASP.NET MVC Routing domain.com/* (7/30/2009)Thursday, July 30, 2009 from eric.polerecky.comScenario; you have to pass wildcard requests to a [...]

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

   
© 2012 eric.polerecky.com Suffusion theme by Sayontan Sinha