gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 23:22:18 24 4
gpt4 key购买 nike

我有使用 Microsoft.AspNet.FriendlyUrls 在 ASP.NET c# WebForms 中工作的路由,但 不是 对于所有页面。

下面是一个例子:

routes.MapPageRoute("List/{Location}/{ZipCode}/", "List/{Location}/{ZipCode}/", "~/List.aspx");

在上面提到的页面 (List.aspx) 中的 page_load 中,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) 始终显示正确的路由计数。

在 Debug模式下的列表页面上,我检查了查询字符串和位置,并且 ZipCode 就在那里。

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

最佳答案

我对 url 路由很陌生,但我想我遇到了类似的问题并且也找到了解决方案。你有没有尝试过:

routes.MapPageRoute("ListDetails/{Location}/{ZipCode}/", "ListDetails/{Location}/{ZipCode}/", "~/List.aspx");

代替
routes.MapPageRoute("List/{Location}/{ZipCode}/", "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 开头。

关于asp.net - Page.RouteData.Values 对于一个页面是空的,而不是另一个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20746022/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com