2011-11-16 2 views
0

asp.net 4 C# 및 라우팅을 사용합니다.경로를 고유하게 만드는 방법

난 당신이 내가 각 경로 {ContentId}{TitleUrl}에 대한 인수로 전달 볼 수 있듯이, 첫 번째 부분 article/blog/에주의하십시오,이 개 경로를 가지고있다.

다음은 올바른 예는 사용자가 article/blog/ 섹션을 변경 URL을 조작하려고하면 경로가 콘텐츠를 계속 표시

mysite.com/article/150/my-special-article 
mysite.com/blog/25/my-special-blogpost 

을 초래. 순간

mysite.com/article/150/my-special-article // same page 
    mysite.com/somtheingelsehere/150/my-special-article // same page 

내 웹 사이트의 내용을 계속 표시하지만 검증의 일종이 필요하고 경로에 지정된 아니면 404 페이지를 표시 할 나의 요청 된 URL이 있는지 확인하십시오.

어떻게 해결 될지 알 수 있습니까? (나는 분명히 설명해 줄 수 있었으면 좋겠다. 더 많은 정보가 필요하다면 알려주기 바란다.) 감사!


routes.MapPageRoute("ArticleDetails", "article/{ContentId}/{TitleUrl}", "~/ContentDetails.aspx"); 

routes.MapPageRoute("BlogPostDetails", "blog/{ContentId}/{TitleUrl}", "~/ContentDetails.aspx"); 

답변

0

나의 제안은 기사와 블로그 게시물에 대해 서로 다른 페이지를 사용하거나 그에 따라 올바른 URL에 대한 ContentDetails.aspx 검사에서 중입니다.

if (Request.Url.PathAndQuery.StartsWith("/blog/") && postType = "blog") ... 
+0

감사합니다. 불행히도 다른 페이지를 가리킬 수 없습니다. – GibboK

관련 문제