内建控件(Intrinsic Control)

发表于:2007-07-14来源:作者:点击数: 标签:
内建控件指的是一般如Button、HyperLink、TextBox 等常会用在网页制作上的Web 控件,使用内建控件可以很快地为网页加入基本的操作接口。 Label Web 控件 Label Web 控件是最简单的控件,它的主要作用是用来显示文字。其使用语法为: ASP:Label Id=被程序代码


    内建控件指的是一般如Button、HyperLink、TextBox 等常会用在网页制作上的Web 控件,使用内建控件可以很快地为网页加入基本的操作接口。

Label Web 控件
Label Web 控件是最简单的控件,它的主要作用是用来显示文字。其使用语法为:

<ASP:Label
Id="被程序代码所控制的名称"
Runat="Server"
Text="所要显示的文字"
/>

<ASP:Label
Id="被程序代码所控制的名称"
Runat="Server"
>
所要显示的文字
</ASP:Label>

    当我们要使用程序来改变其显示的文字时,只要改变它的Text 属性即可。下列范例码配置了一个Label Web 控件,并在Page_Load 事件程序中将其Text 属性设定为「这是一个Label 控件」:

<Html>
<ASP:Label id="Label1" Runat="Server"/>
<Script Language="VB" Runat="Server">
Sub Page_Load(Sender As Object,e As Eventargs)
Label1.Text="这是一个Label 控件"
End Sub
</Script>
</Html>



Image 控件
Image Web 控件是用来显示图片。其使用语法为:

<ASP:Image
Id="被程序代码所控制的名称"
Runat="Server"
ImageUrl="图片所在地址"
AlternateText="图形还没加载时所替代的文字"
ImageAlign="NotSet | AbsBottom | AbsMiddle | BaseLine | Bottom | Left |
Middle |
Right | TextTop | Top"
/>

    Image Web 控件最重要的属性是ImageUrl,这个属性指明图形文件所在的目录或是网址;如档案和网页存放在同一个目录,则可以省略目录直接指定文件名即可。下列范例利用Image Web控件显示了stone.jpg 这个图形:

<ASP:Image Id="Image1" ImageUrl="Framework.jpg" Runat="Server"/>



HyperLink 控件
HyperLink 控件可以用来设定超级链接,就是HTML 元素的<A> 标注。其使用语法为:

<ASP:Hyperlink
Id="控件Id"
Runat="Server"
Text="超级链接文字或小提示文字"
ImageUrl="图片所在地址"
Target="超级链接所要显示的窗口"
/>

<ASP:Hyperlink
Id="被程序代码所控制的名称"
Runat="Server"
ImageUrl="图片所在地址"
Target="超级链接所要显示的窗口"
/>
超级链接文字
</ASP:Hyperlink>


    我们只要设定NavigateUrl 属性为欲浏览的地址,在使用者按下此连结时即可连至指定的地址。而Target 属性可以在有设框架(Frame)的网页上,决定此连结要开启在哪个框架或另外开启新的窗口。设定ImageUrl 属性则可以产生一个图形连结,在图形模式的HyperLink 控件如果有设定Text 属性,则鼠标移到图形上时会出小提示。下列范例利用Hyperlink Web 控件分别制作了文字型态以及图形型态的超级链接:

<ASP:Hyperlink Id="hl1" Navigateurl="http://www.microsoft.com"
Text="Microsoft"
Target="_blank" Runat="server" /><p>
<ASP:Hyperlink Id="hl2" Navigateurl="http://www.msn.com" Text="MSN"
ImageUrl="vsdotnet.gif" Target="_blank" Runat="Server"/>



Button Web 控件
Button Web 控件是网页设计相当重要的Web 控件。它主要作用在于接收使用者的Click 事件,并执行相对应的事件程序来完成程序的处理。其使用语法为:

<ASP:Button
Id="被程序代码所控制的名称"
Runat="Server"
Text="按钮上的文字"
Command="命令名称"
CommandArgument="命令参数"
OnClick="事件程序名"
/>

    要使用Button Web 控件的Click 事件,除了要指定Onclick="事件名称" 外,另外还必须将对象放在窗体标注中才会动作,不然将会没有作用。至于Command 以及CommandArgument属性可以用来和DataList 等控件配合使用,我们这里先不讨论。下列范例当我们按下Button 控件后,便触发Click 事件程序,并在程序中改变Label 控件的Text 属性:

<Html>
<Form Id="Form1" Runat="Server">
<ASP:Button Id="B1" Text="请按我" OnClick="B1_Click"
Runat="Server"/><p>
<ASP:Label Id="L1" Text="Label 控件" Runat="Server" />
</Form>
<Script Language="VB" Runat="Server">
Sub B1_Click(Sender As Object,e As Eventargs)
L1.Text="改变后的Label 控件"
End Sub
</Script>
</Html>

LinkButton Web 控件
LinkButton Web 控件的功能和Button Web 控件一样,只不过它是类似超级链接的文字接口。其使用语法为:

<ASP:LinkButton
Id="被程序代码所控制的名称"
Runat="Server"
Text="按钮上的文字"
Command="命令名称"
CommandArgument="命令参数"
OnClick="事件程序名"
/>

<ASP:LinkButton
Id="控件Id"
Runat="Server"
Command="命令名称"
CommandArgument="命令参数"
OnClick="事件程序名"
/>
"按钮上的文字"
</ASP:LinkButton>

    LinkButton 必须写在<Form> 和</Form> 之间,也要指定OnClick 属性才会动作。下面的程序代码将Button 的范例换成用LinkButton,执行结果还是一样:

<Html>
<Form Id="Form1" Runat="Server">
<ASP:LinkButton Id="B1" Text="请按我" OnClick="B1_Click"
Runat="Server"/><p>
<ASP:Label Id="L1" Text="Label 控件" Runat="Server" />
</Form>
<Script Language="VB" Runat="Server">
Sub B1_Click(Sender As Object,e As Eventargs)
L1.Text="改变后的Label 控件"
End Sub
</Script>
</Html>



ImageButton Web 控件
ImageButton Web 控件的作用和上述两个控件一样,不过这个控件是用图片来当做按钮。其使用语法为:

<ASP:ImageButton
Id="被程序代码所控制的名称"
Runat="Server"
Command="命令名称"
CommandArgument="命令参数"
OnClick="事件程序名"
/>

    这里要特别注意事件程序的参数接收。ImageButton Web 控件在触发Click 事件时,会传递使用者在图形的哪个位置上按下鼠标按钮;所以参数e 的型态要更改为ImageClickEventArgs,若还是维持原先的EventArgs 将发生错误。下列范例码在使用者按下ImageButton Web 控件时,显示鼠标在哪个位置上按下按钮:

<Html>
<Form Id="Form1" Runat="Server">
<ASP:ImageButton Id="Button1" ImageUrl="vsdotnet.gif"
Onclick="Button1_Click"
Runat="Server" /><p>
<ASP:Label Id="Label1" Runat="Server" />
</Form>
<Script Language="VB" Runat="Server">
Sub Button1_Click(Sender As Object,e As ImageClickEventArgs)
Label1.Text="您位于影像的" & e.x.ToString & ", " & e.y.ToString & _
" 的位置按下鼠标"
End Sub
</Script>
</Html>



TextBox Web 控件
这个Web 控件和<Input Type="Text">、<Input Type="Password"> 以及<TextArea> 这三个HTML 元素,都一样用来接收键盘键入的数据;不过TextBox 可以用来取代上述三种HTML 元素。其使用语法为:

<ASP:TextBox
Id="被程序代码所控制的名称"
Runat="Server"
AutoPostBack="True | False"
Columns="字符数目"
MaxLength="字符数目"
Rows="列数"
Text="字符串"
TextMode="SingleLine | Multuline | Password"
Wrap="True | False"
OnTextChanged="事件程序名称"
/>

    TextBox Web 控件的属性说明,如下表所示:


    由上表可知,TextBox 的型态是由TextMode 属性来决定的,若没有设定本属性则预设为SingleLine。下列范例显示了三种型态的TextBox:

<Html>
<Form Id="Form1" Runat="Server">
这是一般输入盒:
<ASP:TextBox Id="T1" TextMode="SingleLine" Runat="Server"/><br>
这是密码输入盒:
<ASP:TextBox Id="T2" TextMode="Password" Runat="Server"/><br>
这是多行输入盒:
<ASP:TextBox Id="T3" TextMode="Multiline" Rows="3" Runat="Server"/><br>
</Form>
</Html>


    TextBox 有一个OnTextChanged 事件,这个事件是当TextBox 内的文字传至Server 端后,Server发现文字的内容和上次的值不同时就会触发;另外不管Text 属性的内容是否有被改变,一率先触发Page_Load 事件。和Button Web 控件一样,使用本事件前必须先指定发生这个事件时所要执行的事件程序。下列范例码中,倘若使用者在文字输入盒中输入的内容和上次不一样时,在按下「Tab」或「Enter」按钮后会显示文字的内容已经被改变的讯息:

<Html>
<Form Id="Form1" Runat="Server">
<ASP:Textbox Id="T1" AutoPostBack="True" OnTextChanged="T1_Changed"
Runat="server" /><p>
<ASP:Label Id="Label1" Runat="Server" />
</Form>
<Script Language="VB" Runat="Server">
Sub Page_Load(Sender As Object,e As Eventargs)
Label1.Text="文字的内容没有被改变"
End Sub
Sub T1_Changed(Sender As Object,e As Eventargs)
Label1.Text="文字的内容已经被改变"
End Sub
</Script>
</Html>

原文转自:http://www.ltesting.net