5.2 简单控件
ASP.NET提供了诸多控件,这些控件包括简单控件、数据库控件、登录控件等强大的控件。在ASP.NET中,简单控件是最基础也是经常被使用的控件,简单控件包括标签控件(Label)、超链接控件(HyperLink)以及图像控件(Image)等。
5.2.1 标签控件(Label)
在Web应用中,希望显式的文本不能被用户更改,或者当触发事件时,某一段文本能够在运行时更改,则可以使用标签控件(Label)。开发人员可以非常方便的将标签控件拖放到页面,拖放到页面后,该页面将自动生成一段标签控件的声明代码,示例代码如下所示。
上述代码中,声明了一个标签控件,并将这个标签控件的ID属性设置为默认值Label1。由于该控件是服务器端控件,所以在控件属性中包含runat=“server”属性。该代码还将标签控件的文本初始化为Label,开发人员能够配置该属性进行不同文本内容的呈现。
注意:通常情况下,控件的ID也应该遵循良好的命名规范,以便维护。
同样,标签控件的属性能够在相应的.cs代码中初始化,示例代码如下所示。
上述代码在页面初始化时为Label1的文本属性设置为“Hello World”。值得注意的是,对于Label标签,同样也可以显式HTML样式,示例代码如下所示。
上述代码中,Label1的文本属性被设置为一串HTML代码,当Label文本被呈现时,会以HTML效果显式,运行结果如图5-2所示。
图5-2 Label的Text属性的使用
如果开发人员只是为了显示一般的文本或者HTML效果,不推荐使用Label控件,因为当服务器控件过多,会导致性能问题。使用静态的HTML文本能够让页面解析速度更快。
5.2.2 超链接控件(HyperLink)
超链接控件相当于实现了HTML代码中的“<a href=“”></a>”效果,当然,超链接控件有自己的特点,当拖动一个超链接控件到页面时,系统会自动生成控件声明代码,示例代码如下所示。
上述代码声明了一个超链接控件,相对于HTML代码形式,超链接控件可以通过传递指定的参数来访问不同的页面。当触发了一个事件后,超链接的属性可以被改变。超链接控件通常使用的两个属性如下所示:
? ImageUrl:要显式图像的URL。
? NavigateUrl:要跳转的URL。
1.ImageUrl属性
设置ImageUrl属性可以设置这个超链接是以文本形式显式还是以图片文件显式,示例代码如下所示。
上述代码将文本形式显示的超链接变为了图片形式的超链接,虽然表现形式不同,但是不管是图片形式还是文本形式,全都实现的相同的效果。
2.Navigate属性
Navigate属性可以为无论是文本形式还是图片形式的超链接设置超链接属性,即即将跳转的页面,示例代码如下所示。
上述代码使用了图片超链接的形式。其中图片来自“http://www.shangducms.com/images/cms.jpg”,当点击此超链接控件后,浏览器将跳到URL为“http://www.shangducms.com”的页面。
3.动态跳转
在前面的小结讲解了超链接控件的优点,超链接控件的优点在于能够对控件进行编程,来按照用户的意愿跳转到自己跳转的页面。以下代码实现了当用户选择QQ时,会跳转到腾讯网站,如果选择SOHU,则会跳转到SOHU页面,示例代码如下所示。
上述代码使用了DropDownList控件,当用户选择不同的值时,对HyperLink1控件进行操作。当用户选择qq,则为HyperLink1控件配置连接为http://www.qq.com。
注意:与标签控件相同的是,如果只是为了单纯的实现超链接,同样不推荐使用HyperLink控件,因为过多的使用服务器控件同样有可能造成性能问题。
5.2.3 图像控件(Image)
图像控件用来在Web窗体中显示图像,图像控件常用的属性如下:
?1)AlternateText:在图像无法显式时显示的备用文本。
?2)ImageAlign:图像的对齐方式。
?3)ImageUrl:要显示图像的URL。
当图片无法显示的时候,图片将被替换成AlternateText属性中的文字,ImageAlign属性用来控制图片的对齐方式,而ImageUrl属性用来设置图像连接地址。同样,HTML中也可以使用<img src=“” alt=“”>来替代图像控件,图像控件具有可控性的优点,就是通过编程来控制图像控件,图像控件基本声明代码如下所示。
除了显示图形以外,Image控件的其他属性还允许为图像指定各种文本,各属性如下所示。
?1)ToolTip:浏览器显式在工具提示中的文本。
?2)GenerateEmptyAlternateText:如果将此属性设置为true,则呈现的图片的alt属性将设置为空。
开发人员能够为Image控件配置相应的属性以便在浏览时呈现不同的样式,创建一个Image控件也可以直接通过编写HTML代码进行呈现,示例代码如下所示。
上述代码设置了一个图片,并当图片失效的时候提示图片连接失效。
注意:当双击图像控件时,系统并没有生成事件所需要的代码段,这说明Image控件不支持任何事件。
5.2.1 标签控件(Label)
在Web应用中,希望显式的文本不能被用户更改,或者当触发事件时,某一段文本能够在运行时更改,则可以使用标签控件(Label)。开发人员可以非常方便的将标签控件拖放到页面,拖放到页面后,该页面将自动生成一段标签控件的声明代码,示例代码如下所示。
+展开
-HTML
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
上述代码中,声明了一个标签控件,并将这个标签控件的ID属性设置为默认值Label1。由于该控件是服务器端控件,所以在控件属性中包含runat=“server”属性。该代码还将标签控件的文本初始化为Label,开发人员能够配置该属性进行不同文本内容的呈现。
注意:通常情况下,控件的ID也应该遵循良好的命名规范,以便维护。
同样,标签控件的属性能够在相应的.cs代码中初始化,示例代码如下所示。
+展开
-C#
protected void Page_PreInit(object sender, EventArgs e)
{
Label1.Text = "Hello World";//标签赋值
}
{
Label1.Text = "Hello World";//标签赋值
}
上述代码在页面初始化时为Label1的文本属性设置为“Hello World”。值得注意的是,对于Label标签,同样也可以显式HTML样式,示例代码如下所示。
+展开
-C#
protected void Page_PreInit(object sender, EventArgs e)
{
Label1.Text = "Hello World<hr/><span style=\"color:red\">A Html Code</span>";//输出 HTML
Label1.Font.Size = FontUnit.XXLarge;//设置字体大小
}
{
Label1.Text = "Hello World<hr/><span style=\"color:red\">A Html Code</span>";//输出 HTML
Label1.Font.Size = FontUnit.XXLarge;//设置字体大小
}
上述代码中,Label1的文本属性被设置为一串HTML代码,当Label文本被呈现时,会以HTML效果显式,运行结果如图5-2所示。
图5-2 Label的Text属性的使用
如果开发人员只是为了显示一般的文本或者HTML效果,不推荐使用Label控件,因为当服务器控件过多,会导致性能问题。使用静态的HTML文本能够让页面解析速度更快。
5.2.2 超链接控件(HyperLink)
超链接控件相当于实现了HTML代码中的“<a href=“”></a>”效果,当然,超链接控件有自己的特点,当拖动一个超链接控件到页面时,系统会自动生成控件声明代码,示例代码如下所示。
+展开
-HTML
<asp:HyperLink ID="HyperLink1" runat="server">HyperLink</asp:HyperLink>
上述代码声明了一个超链接控件,相对于HTML代码形式,超链接控件可以通过传递指定的参数来访问不同的页面。当触发了一个事件后,超链接的属性可以被改变。超链接控件通常使用的两个属性如下所示:
? ImageUrl:要显式图像的URL。
? NavigateUrl:要跳转的URL。
1.ImageUrl属性
设置ImageUrl属性可以设置这个超链接是以文本形式显式还是以图片文件显式,示例代码如下所示。
+展开
-HTML
<asp:HyperLink ID="HyperLink1" runat="server"
ImageUrl="http://www.shangducms.com/images/cms.jpg">
HyperLink
</asp:HyperLink>
ImageUrl="http://www.shangducms.com/images/cms.jpg">
HyperLink
</asp:HyperLink>
上述代码将文本形式显示的超链接变为了图片形式的超链接,虽然表现形式不同,但是不管是图片形式还是文本形式,全都实现的相同的效果。
2.Navigate属性
Navigate属性可以为无论是文本形式还是图片形式的超链接设置超链接属性,即即将跳转的页面,示例代码如下所示。
+展开
-HTML
<asp:HyperLink ID="HyperLink1" runat="server"
ImageUrl="http://www.shangducms.com/images/cms.jpg"
NavigateUrl="http://www.shangducms.com">
HyperLink
</asp:HyperLink>
ImageUrl="http://www.shangducms.com/images/cms.jpg"
NavigateUrl="http://www.shangducms.com">
HyperLink
</asp:HyperLink>
上述代码使用了图片超链接的形式。其中图片来自“http://www.shangducms.com/images/cms.jpg”,当点击此超链接控件后,浏览器将跳到URL为“http://www.shangducms.com”的页面。
3.动态跳转
在前面的小结讲解了超链接控件的优点,超链接控件的优点在于能够对控件进行编程,来按照用户的意愿跳转到自己跳转的页面。以下代码实现了当用户选择QQ时,会跳转到腾讯网站,如果选择SOHU,则会跳转到SOHU页面,示例代码如下所示。
+展开
-C#
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
if (DropDownList1.Text == "qq")//如果选择qq
{
HyperLink1.Text = "qq";//文本为qq
HyperLink1.NavigateUrl = "http://www.qq.com";//URL为qq.com
}
else//选择sohu
{
HyperLink1.Text = "sohu";//文本为sohu
HyperLink1.NavigateUrl = "http://www.sohu.com"; //URL为sohu.com
}
}
{
if (DropDownList1.Text == "qq")//如果选择qq
{
HyperLink1.Text = "qq";//文本为qq
HyperLink1.NavigateUrl = "http://www.qq.com";//URL为qq.com
}
else//选择sohu
{
HyperLink1.Text = "sohu";//文本为sohu
HyperLink1.NavigateUrl = "http://www.sohu.com"; //URL为sohu.com
}
}
上述代码使用了DropDownList控件,当用户选择不同的值时,对HyperLink1控件进行操作。当用户选择qq,则为HyperLink1控件配置连接为http://www.qq.com。
注意:与标签控件相同的是,如果只是为了单纯的实现超链接,同样不推荐使用HyperLink控件,因为过多的使用服务器控件同样有可能造成性能问题。
5.2.3 图像控件(Image)
图像控件用来在Web窗体中显示图像,图像控件常用的属性如下:
?1)AlternateText:在图像无法显式时显示的备用文本。
?2)ImageAlign:图像的对齐方式。
?3)ImageUrl:要显示图像的URL。
当图片无法显示的时候,图片将被替换成AlternateText属性中的文字,ImageAlign属性用来控制图片的对齐方式,而ImageUrl属性用来设置图像连接地址。同样,HTML中也可以使用<img src=“” alt=“”>来替代图像控件,图像控件具有可控性的优点,就是通过编程来控制图像控件,图像控件基本声明代码如下所示。
+展开
-HTML
<asp:Image ID="Image1" runat="server" />
除了显示图形以外,Image控件的其他属性还允许为图像指定各种文本,各属性如下所示。
?1)ToolTip:浏览器显式在工具提示中的文本。
?2)GenerateEmptyAlternateText:如果将此属性设置为true,则呈现的图片的alt属性将设置为空。
开发人员能够为Image控件配置相应的属性以便在浏览时呈现不同的样式,创建一个Image控件也可以直接通过编写HTML代码进行呈现,示例代码如下所示。
+展开
-HTML
<asp:Image ID="Image1" runat="server"
AlternateText="图片连接失效" ImageUrl="http://www.shangducms.com/images/cms.jpg" />
AlternateText="图片连接失效" ImageUrl="http://www.shangducms.com/images/cms.jpg" />
上述代码设置了一个图片,并当图片失效的时候提示图片连接失效。
注意:当双击图像控件时,系统并没有生成事件所需要的代码段,这说明Image控件不支持任何事件。
加支付宝好友偷能量挖...