现在的位置: 首页 > 综合 > 正文

ASP.NET – 使用 ASP.NET Web 服务器控件(三)

2012年06月22日 ⁄ 综合 ⁄ 共 3019字 ⁄ 字号 评论关闭

 

三、如何:设置 ASP.NET Web 服务器控件属性

      ASP.NET 网页中,根据所需的属性 (Property) 设置控件声明的属性 (Attribute)

您所设置的确切属性取决于控件和属性。有关特定控件的属性的信息,请在“帮助”索引中搜索该控件类的名称(例如,“Button (System.Web.UI.WebControls)”)。

下面的示例演示如何设置 TextBox 控件的 MaxLength 属性:

      <asp:textbox id="TextBox1" runat=server maxlength=20 />

安全说明: TextBox 接受用户输入,这将是一个潜在的安全威胁。默认情况下,ASP.NET 网页验证用户输入是否不包括脚本或 HTML 元素。

      说明: Web 服务器控件中,未映射到该控件属性 (Property) 的任何属性 (Attribute) 以原样传递到浏览器。

     

      1、如何:根据简单值或枚举设置 Web 服务器控件的属性

      如果 Web 服务器控件属性的数据类型为基元类型,如 StringBoolean numeric 类型,那么只需将属性值指定给属性即可设置属性值。同样,如果属性值在枚举类中定义,您可以只将该枚举指定到属性。

A、设置基于单值的属性值

将值作为文字或变量指定,如下面的示例所示:

Label1.Text = "Hello";

DataGrid1.PageSize = 5;

      B、设置基于枚举的属性值

使用一个枚举值指定值。ASP.NET 可以基于属性的类型解析枚举。下面的代码示例阐释如何使用枚举设置属性:

// Uses TextBoxMode enumeration

TextBox1.TextMode = TextBoxMode.SingleLine;

// Uses ImageAlign enumeration

Image1.ImageAlign = ImageAlign.Middle;

 

      2、如何:设置 Web 服务器控件的单位属性

      Web 服务器控件的宽度、高度和类似属性是以单位设置的。单位是以对象(Unit 结构)的形式实现的,使用这些对象,您可以通过多种方式指定值和度量单位。

·设置基于单位的属性

将对 Unit 结构的引用分配给控件。

下面的代码示例演示完成这一操作的多种途径。

// Default is pixels.

TextBox1.Width = new Unit(100);

TextBox1.Width = new Unit(100, UnitType.Pixel);

TextBox1.Width = new Unit("100px");

// Centimeters

TextBox1.Width = new Unit("2cm");

TextBox1.Width = new Unit(10, UnitType.Percentage);

TextBox1.Width = new Unit("10%");

 

      3、如何:设置 Web 服务器控件颜色属性

      若要将一个 Web 服务器控件属性(例如 BackColor 属性)设置为一种颜色,您需要分配对 Color 对象的引用。

·将 Web 服务器控件属性设置为一种颜色

调用 Color 对象的 FromArgb 方法,将数值 (RGB) 传递给它,或调用 FromName,将颜色名称作为字符串传递给它。或者,您可以使用引用预定义颜色名的静态方法来分配颜色,如下例所示:

Button1.BackColor = System.Drawing.Color.FromName("Red");

// White in RGB.

Button1.BackColor = System.Drawing.Color.FromArgb(255, 255, 255);

Button1.BackColor = System.Drawing.Color.Red;

// HTML 4.0 color.

Button1.BackColor = System.Drawing.Color.MediumSeaGreen;

 

      4、如何:在集合中设置 Web 服务器控件属性

      某些 Web 服务器控件的属性不是简单的值或对象,而是集合。例如,ListBox Web 服务器控件的单个值实现为 ListItem 对象的集合。

·设置基于集合的控件属性

实例化要使用的项,然后将其添加到控件的集合。

下面的代码示例演示如何通过将 ListItem 对象添加到 ListBox 控件的 Items 集合中,来将该对象添加到此控件中。在第一个示例中,项在添加之前是显式创建的。在第二个示例中,项的创建和添加是同时进行的。

// Create the items and then add them to the list.

ListItem li = new ListItem("Item 1");

ListBox1.Items.Add(li);

 

// Create and add the items at the same time.

ListBox1.Items.Add(new ListItem("Apples"));

ListBox1.Items.Add(new ListItem("Oranges"));

ListBox1.Items.Add(new ListItem("Lemons"));

 

      5、如何:在 ASP.NET 网页中设置控件的 HTML 属性

      这些示例显示如何向页面中的元素添加 HTML 属性。第一个示例演示如何以声明方式向控件中添加属性。添加到控件中、但不与该控件的属性 (Property) 对应的任何属性 (Attribute) 都传递到浏览器。

第二个示例演示如何以编程方式向 Button 控件中添加属性和样式。第三个示例演示如何以编程方式向该页的 body 标记中添加属性,这需要您首先向该标记中添加 runat="server" ID 属性。

<body id="body" runat="server">

    <form id="form1" runat="server">

 

      <!-- Example1 -->

      <input runat="server" id="Button1" type="button" onmouseover="rollover()" onmouseout="exitrollover()" />

    </form>

</body>

 

<script runat="server">

    private void Page_Load()

    {

        //Example 2

        Button1.Attributes.Add("onclick", "alert('hello, world')");

        Button1.Style.Add("background-color", "red");

 

        //Example 3

        body.Attributes["bgcolor"] = "lightblue";

 

    }

</script>

可靠编程: 没有验证您添加到控件上的属性;键/值对按原样呈现给浏览器。

在设置一个属性时,它重写同一名称的任何现有属性。(它不修改现有属性上的值)。因此,如果希望修改属性,必须先读取它,再修改它,然后将它重新添加到控件中。

如果某一特性在控件中是通过属性表示的,则该属性优先于您进行的特性设置。例如,如果您尝试使用 value 属性设置文本,则 TextBox 控件的 Text 属性优先。

 

 

抱歉!评论已关闭.