RSS

导航

信息

联系方式(Contact)






 
Namespace:System.Web.Routing

定义: C#:
public class RouteValueDictionary : IDictionary<string, Object>, 
    ICollection<KeyValuePair<string, Object>>, IEnumerable<KeyValuePair<string, Object>>, 
    IEnumerable

使用: C#:
            RouteValueDictionary rvd = new RouteValueDictionary();
            rvd.Add("controller", "home");
            rvd.Add("action", "index");

这样,rvd所标识的就是home/index的action了。

以下代码演示了如何创建Route,及用RouteValueDictionary制定Route的规则。 C#:
void Application_Start(object sender, EventArgs e) 
{
    RegisterRoutes(RouteTable.Routes);
}

public static void RegisterRoutes(RouteCollection routes) { Route reportRoute = new Route("{locale}/{year}", new ReportRouteHandler()); reportRoute.Defaults = new RouteValueDictionary { { "locale", "en-US" }, { "year", DateTime.Now.Year.ToString() } }; reportRoute.Constraints = new RouteValueDictionary { { "locale", "[a-z]{2}-[a-z]{2}" }, { "year", @"\d{4}" } }; reportRoute.DataTokens = new RouteValueDictionary { { "format", "short" } }; routes.Add(reportRoute); }
VB:
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
    RegisterRoutes(RouteTable.Routes)
End Sub

Shared Sub RegisterRoutes(ByVal routes As RouteCollection) Dim urlPattern As String Dim reportRoute As Route

urlPattern = "{locale}/{year}"

reportRoute = New Route(urlPattern, New ReportRouteHandler) reportRoute.Defaults = New RouteValueDictionary(New With {.locale = "en-US", .year = DateTime.Now.Year.ToString()}) reportRoute.Constraints = New RouteValueDictionary(New With {.locale = "[a-z]{2}-[a-z]{2}", .year = "\d{4}"}) reportRoute.DataTokens = New RouteValueDictionary(New With {.format = "short"})

routes.Add(reportRoute) End Sub
Eice.com.cn 2008 黑ICP备09002611号 | 关于我们 | 技术支持 |