我们在编写网站时,除了使用它们固定的服务器控件,我们还可以自定义一些控件来重复使用。 

添加一个web用户控件,可以在前端和后台添加内容,再添加一个web窗体,将web用户控件拖入web窗体对应地方中。

注意,用户控件不能设为起始页,并且拖入web窗体时,要将web窗体改为设计模式,方可拖入成功。

拖入后的代码如下:

前端:

<%@ Register src="ww.ascx" tagname="ww" tagprefix="uc1" %>// 代码头
//ww.ascx 为用户控件
<uc1:ww ID="ww1" runat="server" /> //拖入的对应地方

访问用户控件的属性

比如,web窗体要获取用户控件的一个属性的值。

用户控件:

后台:

public  string  name = "chen";
        public string Name{
            get {return name ;}
            set {name=value ;}
        }

 

Web窗体:

前端:

<%@ Register src="ww.ascx" tagname="ww" tagprefix="uc1" %>//表头
 <uc1:ww ID="ww1" runat="server" />
 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

后台:

TextBox1.Text = this.ww1.name.ToString();//获取用户控件的name值,显示在TextBox控件上

访问用户控件的服务器控件

比如登录的小例子

用户控件:

前端:

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

后台:

public string Name{
            get {return TextBox1.Text ;}
            set { TextBox1.Text = value; }
        }

Web窗体:

前端:

<%@ Register src="ww.ascx" tagname="ww" tagprefix="uc1" %>//表头
 <uc1:ww ID="ww1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />

后台:

  

protected void Button1_Click(object sender, EventArgs e)
  {
  if (this.ww1.Name.ToString() == "123")
登录成功')</script>");}
登录失败’)</script>");}
   }