我使用Microsoft.AspNet.FriendlyUrls在ASP.NET c#WebForms中使用Routing,但不是所有页面都使用.
这是一个例子:
routes.MapPageRoute("List/{Location}/{ZipCode}/","List/{Location}/{ZipCode}/","~/List.aspx");
在page_load中的上述页面(List.aspx)中,Page.RouteData中没有values.count.
Page.RouteData.Values.Count == 0
我在同一个网站上有另一个页面与此信息匹配:
routes.MapPageRoute("{Location}/{ZipCode}/{Name}/{LocID}/{ID}/{Code}/","{Location}/{ZipCode}/{Name}/{LocID}/{ID}/{Code}/","~/place.aspx");
解决方法
我是url路由的新手,但我想我遇到了类似的问题,并找到了解决方案.你有没有尝试过:
routes.MapPageRoute("ListDetails/{Location}/{ZipCode}/","ListDetails/{Location}/{ZipCode}/","~/List.aspx");
代替
routes.MapPageRoute("List/{Location}/{ZipCode}/","~/List.aspx");
?
在我的情况下,我有:
routes.MapPageRoute( "ImageDelete","Admin/Images/Delete/{nameToKill}","~/Admin/Images.aspx" );
它显示Page.RouteData.Values总是为空.
当我把它改成
routes.MapPageRoute( "ImageDelete","Admin/Image/Delete/{nameToKill}",// mind the missing 's' "~/Admin/Images.aspx" );
有效!
我认为该路线可能不是以实际存在的网站的URL开头.