5.2 简单控件

  ASP.NET提供了诸多控件,这些控件包括简单控件、数据库控件、登录控件等强大的控件。在ASP.NET中,简单控件是最基础也是经常被使用的控件,简单控件包括标签控件(Label)、超链接控件(HyperLink)以及图像控件(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的文本属性设置为“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的文本属性被设置为一串HTML代码,当Label文本被呈现时,会以HTML效果显式,运行结果如图5-2所示。

Label的Text属性的使用
图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>

  上述代码将文本形式显示的超链接变为了图片形式的超链接,虽然表现形式不同,但是不管是图片形式还是文本形式,全都实现的相同的效果。

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>

  上述代码使用了图片超链接的形式。其中图片来自“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
            }
        }

  上述代码使用了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" />

  上述代码设置了一个图片,并当图片失效的时候提示图片连接失效。
注意:当双击图像控件时,系统并没有生成事件所需要的代码段,这说明Image控件不支持任何事件。

加支付宝好友偷能量挖...


评论(0)网络
阅读(89)喜欢(0)Asp.Net/C#/WCF