1 我想在ASPX页面对调用的用户控件中的服务器控件进行取值赋值操作.
2 顺便问下如何卸载已经加载的用户控件.然后用一个图片或一段文字替换.

解决方案 »

  1.   

    注意,首先aspx的page_load,然后ascx的page_load
    1、web应用程序比较好处理这个东西,public控件,直接使用即可
    2、用loadcontrol动态加载
      

  2.   

    刚做了个动态加载用户控件的功能://动态加载控件
    Control ctop = LoadControl("control/1/top.ascx");
    //放入容器控件PlaceHolder
    p_page.Controls.Add(ctop);
    //对服务器控件取值赋值
    ((Text)ctop.FindControl("TextBox1")).Text="你要取的值";
    //卸载已经加载的用户控件
    p_page.Controls.Remove(ctop);
    //变成图片或文字
    Literal htm=new Literal();
    htm.Text="文字或图片的html代码";
    p_page.Controls.Add(htm);
      

  3.   

    1)用户控件里:
    在ascx.vb(.cs)里定义属性
        Public WriteOnly Property setValue() As String   '外部来赋值
            Set(ByVal value As String)
                txt.text = value
            End Set
        End Property在.ascx里有个textbox:
    <asp:TextBox ID="txt" CssClass="textboxstyle" runat="server"></asp:TextBox>
    2)在调用该控件的aspx里
    在aspx里定义该用户控件的ID=UC在aspx.vb(.cs)里
    在任何一个过程里可以动态对以上的txt进行赋值
    sub  xxxxxxx()
    UC.setValue="yyy"
    end sub这样就可以动态给用户控件里服务器控件进行操作