none
请问vs2010 在用户控件UserControl里头怎么使用RouteData.Values来获取参数????????? RRS feed

  • 问题

  • RouteData.Values 在.aspx页面是可以用的,但是在用户控件里头,就老报错:

    非静态的字段、方法或属性“System.Web.Routing.RouteData.Values.get”要求对象引用

    请问vs2010 在用户控件UserControl里头怎么使用RouteData.Values来获取参数?????????

    2010年8月21日 11:33

答案

  • 你好:

    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的引用。

    希望对你有所帮助。

    2010年8月26日 3:07
    版主