你好:
UserControl 是一种控件、与其他控件一样,使用的场景都是在一个PAGE 里面,一个 Page 可以包含多个UserControl ,Page 是对当前请求的所有信息的封装(Application、Server、Request、Response、Session),RouteData 属于 HttpRequestContext 里面的信息,也被Page 对象引用,通过Page 对象可以查看关于请求的所有信息。但是UserControl 只是一个控件,他要访问当前请求的信息
,必须通过 UserControl 控件所在Page 对象,间接地访问;所有的control 都通过 control.Page 来访问当前请求相关的信息。
在用户控件中是无法直接访问到RouteData,RouteData是Page对象中的属性,所以需要在用户控件中使用this.Page.RouteData来获取参数。使用this.Page.RouteData.Values["id"]来获取参数的值。
另外请注意的你.NET版本应该是4.0. 以及对System.Web.Routing的引用。
希望对你有所帮助。