2
我在我的asp.net应用程序中实现URL路由,因为我的一些规则是冲突的。下面 是我的一些规则,这是矛盾的:Url路由规则冲突
RouteTable.Routes.Add("QuestionSubject",
new Route("questions/{subjectname}/{pageno}",
new RouteValueDictionary { { "pageno", null } },
new RouteValueDictionary { { "pageno", @"^[0-9]*$" } },
new EventRouteHandler("~/questionsitemap/subject.aspx")));
RouteTable.Routes.Add("QuestionSubjectTopic",
new Route("questions/{subjectname}/{topicname}/{pageno}",
new RouteValueDictionary { { "pageno", null } },
new RouteValueDictionary { { "pageno", @"^[0-9]*$" } },
new EventRouteHandler("~/questionsitemap/topic.aspx")));
RouteTable.Routes.Add("QuestionGrade",
new Route("questions/{gradename}/",
new EventRouteHandler("~/questionsitemap/grade.aspx")));
RouteTable.Routes.Add("QuestionSubjectGrade",
new Route("questions/{gradename}/{subjectname}/",
new EventRouteHandler("~/questionsitemap/grade.aspx")));
RouteTable.Routes.Add("QuestionSubjectTopicGrade",
new Route("questions/{gradename}/{subjectname}/{topicname}/",
new EventRouteHandler("~/questionsitemap/grade.aspx")));
在这个时候,我请求打开QuestionGrade规则被调用QuestionSubject因为规则对于两个相似的,同样的事情发生了他人排除。
请任何人帮我找出解决方案。
:但我的客户不希望像“主题”或“等级” – Vijjendra
任何静态目录你,如果你使用的路由喜欢那种没有任何选择。第一个“问题/ {}/{}”结构总是会赢的。必须有一些其他级别的消歧。 –