1 namespace System.Web.Routing { 2 using System; 3 using System.Collections.Generic; 4 using System.Globalization; 5 using System.Runtime.CompilerServices; 6 7 [TypeForwardedFrom("System.Web.Routing, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35")] 8 public class RouteData { 9 private IRouteHandler _routeHandler; 10 private RouteValueDictionary _values = new RouteValueDictionary(); 11 private RouteValueDictionary _dataTokens = new RouteValueDictionary(); 12 RouteData()13 public RouteData() { 14 } 15 RouteData(RouteBase route, IRouteHandler routeHandler)16 public RouteData(RouteBase route, IRouteHandler routeHandler) { 17 Route = route; 18 RouteHandler = routeHandler; 19 } 20 21 public RouteValueDictionary DataTokens { 22 get { 23 return _dataTokens; 24 } 25 } 26 27 public RouteBase Route { 28 get; 29 set; 30 } 31 32 public IRouteHandler RouteHandler { 33 get { 34 return _routeHandler; 35 } 36 set { 37 _routeHandler = value; 38 } 39 } 40 41 public RouteValueDictionary Values { 42 get { 43 return _values; 44 } 45 } 46 GetRequiredString(string valueName)47 public string GetRequiredString(string valueName) { 48 object value; 49 if (Values.TryGetValue(valueName, out value)) { 50 string valueString = value as string; 51 if (!String.IsNullOrEmpty(valueString)) { 52 return valueString; 53 } 54 } 55 throw new InvalidOperationException( 56 String.Format( 57 CultureInfo.CurrentUICulture, 58 SR.GetString(SR.RouteData_RequiredValue), 59 valueName)); 60 } 61 } 62 } 63