用户控件被保存在单独的文件中它带有一个单独的ascx扩展名无论何时在看到这个扩展名时应该知道正在使用一个用户控件为了创建用户控件需要向Web Form的顶部添加一个@Register指令确定在哪里可以找到用户控件
<%@ Register TagPrefix=WroxUnited TagName=MyControl %>
需要添加一个新的标记来指明该控件出现在页面上的什么地方它是由TagPrefix后面加个冒号然后是TagName和ID最后是熟悉的runat=server属性组成
<WroxUnited:MyControl id=mycontrol runat=server>
</WroxUnited:MyControl>
最后需要指明用户控件本身位于一个单独的ascx文件中不同于Web Forms不需要指明额外的<html>和<body>标记因为这个控件的内容将会被添加到包含主页的主体中实际上需要的就是所要包含的控件本身例如可以在本章前面使用的后台示例中包含这些控件
<asp:Label ID=Label runat=server Text=What is the answer to the meaning of life the universe and everything?></asp:Label>
<asp:TextBox ID=TextBox runat=server></asp:TextBox>
<br /><br />
<asp:Button ID=Button runat=server Text=Button /><br />
<asp:Label ID=
Label
runat=
server
Text=
></asp:Label>
当然与Web Forms一样用户控件也可以有后台代码
然后该控件可以被固定到Web页面中可以在其中指定@Register指令并为该控件添加一个标记
Protected Sub Page_Load(ByVal sender As Object ByVal e As SystemEventArgs) Handles MeLoad
If PageIsPostBack Then
If TextBoxText = Then
LabelText = So you read Douglas Adams as well
Else
LabelText = No Im not sure thats it
End If
End If
End Sub
ASPNET 入门教程完整版