在网上问了很多人但是还是没有结果。我把我的问题描述一下。
在用户自定义控件的后台代码中需要到获取引用其页面中的public变量。
我试途以以下方式进行:
为该用户控件定义一个属性。在引用该用户控件的时候为其属性赋值。
代码如下:
<uc5:Catalog ID="Catalog1" runat="server" catalog=<%= catalog %> />
<%= catalog %>中的catalog为该页面的的public变量。但服务器报错:服务器标记不能包含 <% ... %> 构造。另一想法:能不能在自定义控件后台代码中直接获取?就像获取其页的QueryString一样(this.page.request.querystring).
高手请指点!

解决方案 »

  1.   

    在ascx.cs中:string catalog = Page.catalog ;
      

  2.   

    CS0117: “System.Web.UI.Page”并不包含“catalog”的定义why
      

  3.   

    将<%= catalog %>替换成常量就可以了,如catalog=目录1.你可以尝试一下变通方法.
      

  4.   

    这样做不好。
    我的方法是,在自定义控件中把 需要的数据或变量申明为 属性,然后在使用控件的页面为控件的此属性赋值就可以了。
    比如<uc5:Catalog ID="Catalog1" runat="server"/>
    后台有控件变量 Catalog1
    直接赋值,Catalog1.Catalog = “”;
      

  5.   

    <uc5:Catalog ID="Catalog1" runat="server" catalog='<%= catalog %>' /> 试下
      

  6.   

    yes555(a ~tu) 
    只有你的方法行通了!
    我就是这么解决的!不知道能否在控件代码中来获取页面的变量?
    就像this.page.request.querystring[""]这样来获取????
      

  7.   

    这样做不好。
    我的方法是,在自定义控件中把 需要的数据或变量申明为 属性,然后在使用控件的页面为控件的此属性赋值就可以了。
    比如<uc5:Catalog ID="Catalog1" runat="server"/>
    后台有控件变量 Catalog1
    直接赋值,Catalog1.Catalog = “”;
    Catalog1是自定义控件的ID,但是它在apsx.cs文件并没有声明,它怎么调用自定义控件的属性的呢???楼主说说看,你是怎么弄的???
      

  8.   

    人家用的asp.net 2.0
    是partial class,不需要在.aspx.cs文件里声明
      

  9.   

    Mark
    ----------------------------------
    免费asp.net空间 www.kingtoo.com
      

  10.   

    <%#catalog()%>
    让它返回为变量的值