Microsoft.AspNet.FriendlyUrls를 사용하는 ASP.NET C# WebForms에서 라우팅이 작동하지만 모든 페이지에 대해 이 아닌이 있습니다. Page.RouteData에는 values.count가 없는지를 Page_Load에서 상술 한 페이지 (List.aspx)에서Page.RouteData.Values는 한 페이지에서는 비어 있지만 다른 페이지에서는 비어 있습니다.
routes.MapPageRoute("List/{Location}/{ZipCode}/", "List/{Location}/{ZipCode}/", "~/List.aspx");
: 여기
는 일례이다.Page.RouteData.Values.Count == 0
나는 그것에 일치하는이 정보와 같은 사이트의 다른 페이지가 :
routes.MapPageRoute("{Location}/{ZipCode}/{Name}/{LocID}/{ID}/{Code}/", "{Location}/{ZipCode}/{Name}/{LocID}/{ID}/{Code}/", "~/place.aspx");
이 페이지 (place.aspx)는 항상 경로의 정확한 수를 보여줍니다.
디버그 모드의 목록 페이지에서 쿼리 문자열과 위치를 확인하고 ZipCode가있는 동안.
Page.RouteData가 한 페이지에 표시되지 않지만 다른 페이지에서 사용 가능하게되는 원인은 무엇입니까?
이 문제는 계속 발생합니다. 나는 몇 달 전 querystring (YUK!)을 사용했다. 오늘 나는 시스템에서이 문제가 다시 발생하면서 Google에서 다른 검색을 수행하기로 결정했습니다. 나는이 스레드를 발견하고 그것을 "WOW 같은 문제를 생각하고 읽고 있었다!" 그 때 나는 보았다. 그리고 그것은 나의 지위였다! 문제에 대해 더 구체적으로 알 수 있을지 확실하지 않습니다. 저를 페이지로 보내는 링크를 클릭하면 작동하는 것처럼 보입니다. 하지만 page_load가 아닙니다. –
이 다른 질문에 대한 내 대답을 참조하십시오. https://stackoverflow.com/a/46365650/14263 –