我使用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开头.