用户控件的使用

 

怎样在我们的web页面中和user control进行交互?

注:用户自定义控件是再一个项目中创建的,而且只能再这个项目里面调用,如果你想在其它项目中使用的话,你首先得把相应的ascx页面加载进来才后,才能使用。  

       如果我们要调用用户自定义控件中的子控件的时候,必须把用户自定义控件中的子控件实例化,然后才能对它赋值,取值。例如:TextBox tb=(TextBox)Train2.FindControl(“TextBox1”);//  TextBox是子控件类型, TextBox1是子控件在用户自定义控件中的ID

Tb.Text=”xxxX”;// 往子控件中赋值,当然我们也可以取值。

1.  前台页面和user control中控件的值进行交互。

private Control tt=null; //我们首先定义一个control变量

tt=this.FindControl("Train1"); //通过this找到页面上的已经实例化的用户自定义控件,”Train1”是页面上用户自定义控件的id

TextBox lab=(TextBox)tt.FindControl("TextBox1"); //这样我们就可以利用FindControl来来找到用户自定义控件中的子控件了。

lab.Text=this.TextBox1.Text.ToString();      //给自定义控件中的子控件赋值

this.Label1.Text=lab.Text.ToString();  //得到自定义控件中的子控件的值

 

2.  前台页面和 user control中的属性进行交互。

我们再aspx页面中加入了这样一个用户自定义控件:<uc1:train id=”Train2” runat=”server”></uc1:train>

cs文件中我们就可以这样调用了:

Protected test.train Train2;//test是我们项目的名称空间,train是我们的用户自定义控件类的名称,Train2是前台控件的实例名。

Train2.TB=”xxxx”; //TB就是我们在自定义控件中定义的一个属性,我们可以取值,也可以设置值,通过属性来传递参数。

Train2.add(“xxx”,”aaa”); //调用自定义控件中的方法,并得到一个返回值。

3.  动态向页面中加入一个user control

Train uc=(train)Page.LoadControl(“train.ascx”); //实例化一个用户控件

Uc.TB=”ddd”;  //设置用户控件的属性

This.Panel1.Controls.add(uc);  //向当前页面中加入用户控件

posted on 2005-05-30 16:03  zz  阅读(463)  评论(0)    收藏  举报

导航