C# 如何从Page.RouteData.DataTokens获取RouteValueDictionary值

C# 如何从Page.RouteData.DataTokens获取RouteValueDictionary值,c#,asp.net,C#,Asp.net,如何从Page.RouteData.DataTokens获取RouteValueDictionary值 我的代码: routes.MapPageRoute("NewsDetails", "NewsDetails/{id}/{title}", "~/NewsDetails.aspx", false, new RouteValueDictionary { { "id", 0 },

如何从Page.RouteData.DataTokens获取RouteValueDictionary值

我的代码:

routes.MapPageRoute("NewsDetails", "NewsDetails/{id}/{title}",
                    "~/NewsDetails.aspx", false,
                     new RouteValueDictionary { { "id", 0 },
                     { "title", string.Empty } });
我想要获取id和标题,因为Page.RouteData.Values不起作用


谢谢

尝试改用
Page.RouteData.Values

尝试改用
Page.RouteData.Values

我也有这个问题
Page.RouteData.Values
没有返回任何值,但我可以在
DataTokens
下看到传递的值

事实证明,
routes.EnableFriendlyUrls
干扰了我的路由映射,因此在我阅读-->并使用
Request.GetFriendlyUrlSegments()
获取值之后

它起作用了,但我不想遍历所有的值来分配它们(如本文所建议的)。因此,我没有使用
Request.GetFriendlyUrlSegments()在所有其他路线注册后注册


只有在我更改了路由的顺序之后,我才从
Page.RouteData.values
获得了我的值,我也遇到了这个问题
Page.RouteData.Values
没有返回任何值,但我可以在
DataTokens
下看到传递的值

事实证明,
routes.EnableFriendlyUrls
干扰了我的路由映射,因此在我阅读-->并使用
Request.GetFriendlyUrlSegments()
获取值之后

它起作用了,但我不想遍历所有的值来分配它们(如本文所建议的)。因此,我没有使用
Request.GetFriendlyUrlSegments()在所有其他路线注册后注册


只有在我更改了路由顺序后,我才从
Page.routedData.values

获取了我的值,我必须使用以下来访问特定的密钥:

((System.Web.Mvc.RedirectToRouteResult)response).RouteValues["KeyName"]

我必须使用以下方法访问特定密钥:

((System.Web.Mvc.RedirectToRouteResult)response).RouteValues["KeyName"]

为什么要从Page.RouteData.DataTokens获取它们?尝试从Page.RoutedData.ValuesPage.RoutedData.Values中获取它们。Values不显示值(对象引用未设置为对象的实例)奇怪,只是尝试了一下并按预期工作。也许你有其他一些自定义的东西打破了它?你试过Page.RouteData.DataTokens[“title”]吗?我能够在DataTokens集合中放置值,但我使用了另一个MapPageRoute重载routes.MapPageRoute(“NewsDetails”、“NewsDetails/{id}/{title}”)、“~/Test1.aspx”、false、new RouteValueDictionary{{id”、0}、{“title”、string.Empty}}、new RouteValueDictionary(),新的RouteValueDictionary{{“test”,12});奇怪的Page.RouteData.Values现在工作!!!!在另一台电脑中,谢谢…为什么要从Page.RouteData.DataTokens获取它们?尝试从Page.RoutedData.ValuesPage.RoutedData.Values中获取它们。Values不显示值(对象引用未设置为对象的实例)奇怪,只是尝试了一下并按预期工作。也许你有其他一些自定义的东西打破了它?你试过Page.RouteData.DataTokens[“title”]吗?我能够在DataTokens集合中放置值,但我使用了另一个MapPageRoute重载routes.MapPageRoute(“NewsDetails”、“NewsDetails/{id}/{title}”)、“~/Test1.aspx”、false、new RouteValueDictionary{{id”、0}、{“title”、string.Empty}}、new RouteValueDictionary(),新的RouteValueDictionary{{“test”,12});奇怪的Page.RouteData.Values现在工作!!!!在另一台电脑中,谢谢。。。