使用非可选参数(不是MVC)进行路由

时间:2012-12-31 12:39:37

标签: c# asp.net routing

我正在构建的网站需要将用户名用户名作为网址的一部分,如:

  

MYDOMAIN / USER1

我在global.asa中将其设置为:

routes.MapPageRoute("SubscriptionList","{Username}/","~/subscriptionlist.aspx");

但是,如果站点上有链接到未路由的页面,例如mydomain / login.aspx,则会将这些链接路由到“SubscriptionList”页面。我认为这是因为所需的URL '{Username}/'实际上可能一无所获。如何设置路由以便仅在用户名实际存在时触发上述操作?

另一种我认为不是最佳做法的方法是为网站上的每个页面设置一条路线。

1 个答案:

答案 0 :(得分:0)

我认为这与路由表中路由的顺序有关。

根据我的理解,您应该确保此路由低于具有显式路由集的其他路由。

例如,这应该在路由之下而不是处理到Login.aspx的路由,因为我认为规则是从上到下进行评估。

或者我不明白这个问题=