如何使路线独特

时间:2011-11-16 09:43:27

标签: c# asp.net routing url-routing

我使用asp.net 4 c#和路由。

我有两条路线,你可以看到我传递给每条路线{ContentId}{TitleUrl}的参数,请注意第一部分article/blog/

这里有一个正确结果的例子

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

如果用户尝试操纵更改article/blog/部分的网址,则该路线会继续显示内容。

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

我的网站目前继续显示内容,但我需要进行某种验证,并确保我所请求的网址在路线中指定,否则我会显示404页面。

任何想法怎么能解决它? (我希望我们能够正确解释,如果你需要更多说明,请告诉我)。谢谢!


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

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

1 个答案:

答案 0 :(得分:0)

我的建议是使用不同的文章和博客文章,或者在ContentDetails.aspx中检查相应的正确网址。

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