比如..有两个类别,,都用这一个控件显示,,这如何做???

解决方案 »

  1.   

    可以,比如用户控件中,定义了一个属性--类别的id,根据该id查询作为查询条件,查询结果绑定到datalist上,可以在前台调用这个用户控件的页面中直接当作一个属性给他赋值.
      

  2.   

    比如:
    用户控件中定义个属性
    private string newsTypeID
    public string NewsTypeID
    {
       set
       {
          this.newsTypeID=value;
       }
    }
    在Page_Load中执行数据库查询,以newsTypeID为查询条件,查询结果绑定到一个datalist或datagrid上,这个用户控件执行的就是根据类别newsTypeID的不同都可以用这个用户控件来显示了.
    把这个控件拖到某个aspx页面上,比如首页,
    自动生成了调用的代码,在页面中同样会生成类似<uc1:news id="News1" runat="server"></uc1>的代码.
    可以通过<uc1:news id="News1" runat="server" newsTypeID="具体的值"></uc1>的方式来根据你输入不同的newsTypeID来实现不同的类别.
      

  3.   

    哦,调用的属性应该是NewsTypeID,应该写成
    <uc1:news id="News1" runat="server" NewsTypeID="具体的值"></uc1>
      

  4.   

    如果不绑到datalist上,直接输出HTML代码可以吗???<uc1:news id="News1" runat="server" newsTypeID="具体的值"></uc1>
    是不是调用控件这语句,,所有属性都可以在这个语句里面像 newsTypeID="具体的值" 这样写??调用语句中newsTypeID是应该是写的是定义的NewsTypeID这个属性还是newsTypeID这个变量呀??
      

  5.   

    public属性的可以直接写,我在用户控件中定义的newsTypeID是private的,然后定义了一个public的NewsTypeID中用set访问器来给他赋值,这样是为了代码的封装,做为查询条件的是newsTypeID,而在aspx中调用并赋值的是NewsTypeID就是这个原因,如果你把newsTypeID直接定义成了public的话就可以直接赋值了.