加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – Page.RouteData.Values对于一个页面是空的而不是另一

发布时间:2020-12-15 23:54:24 所属栏目:asp.Net 来源:网络整理
导读:我使用Microsoft.AspNet.FriendlyUrls在ASP.NET c#WebForms中使用Routing,但不是所有页面都使用. 这是一个例子: routes.MapPageRoute("List/{Location}/{ZipCode}/","List/{Location}/{ZipCode}/","~/List.aspx"); 在page_load中的上述页面(List.aspx)中,Pa
我使用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");

此页面(place.aspx)始终显示正确的路径计数.

在调试模式的List页面上,我检查了查询字符串和位置,ZipCode就在那里.

那么,什么可能导致Page.RouteData不在一个页面中显示但在另一个页面中可用?

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读