代码改变世界

学习Professional ASP.NET 2.0(三)

2006-05-09 21:42  Clingingboy  阅读(1350)  评论(1编辑  收藏  举报
第五章介绍了asp.net2.0对原有标准控件进行修改的新特性,以下为摘自MSDN文档

对于早期版本的 ASP.NET 中包含的控件,在数据绑定、辅助功能等方面使用新的功能进行了更新。下表列出了相应的控件以及 ASP.NET 2.0 对其所做的更改。

AdRotator
支持新的数据绑定模型,并可以使用数据源控件进行数据检索(尽管这需要特定的数据库架构)。AdRotator 控件隐式支持缓存后替换,这意味着无论是否缓存页,该控件都将针对每一请求呈现唯一的广告。

有关更多信息,请参见 AdRotator Web 服务器控件概述。

Button, ImageButton, LinkButton
支持从 Button 基类继承的多个新的属性。

OnClientClick 属性标识单击按钮后在执行回发之前要调用的客户端方法的名称。在客户端脚本中,可以取消回发。

PostBackUrl 属性允许您通过标识目标页的 URL,将一个 ASP.NET 页发送到另一个页。

UseSubmitBehavior 属性(仅可用于 Button 控件)允许您指定是使用浏览器的提交机制提交页还是使用 ASP.NET 生成的客户端脚本来发送页。

Calendar
公开向呈现的 HTML 表中写入 caption 元素的 Caption 和 CaptionAlign 属性。

Calendar 控件现在还包含一个 UseAccessibleHeader 属性。当此属性设置为 true 时,Calendar 控件使用 HTML 表标题 (th) 元素呈现日期名称。

用于 DayRender 事件的 DayRenderEventArgs 对象现在包含一个 SelectUrl 属性。这会返回 LinkButton 控件在呈现日历日期时通常使用的客户端脚本。可以使用 SelectUrl 属性自定义日期链接的格式。

有关更多信息,请参见 Calendar Web 服务器控件概述。

CheckBox
支持 LabelAttributes 和 InputAttributes 属性 (Property),使用这两个属性 (Property),可以分别为控件所呈现的 label 和 input HTML 元素指定自定义属性 (Attribute)。

有关更多信息,请参见 CheckBox 和 CheckBoxList Web 服务器控件概述。

CheckBoxList
支持新的数据绑定模型,并可以使用数据源控件进行数据检索。

有关更多信息,请参见 CheckBox 和 CheckBoxList Web 服务器控件概述。

DataGrid
支持新的数据绑定模型,并可以使用数据源控件。不过,建议您改用 GridView 控件以表格形式显示数据。GridView 控件提供对数据绑定方案的改进支持。

有关 GridView 控件的更多信息,请参见 GridView Web 服务器控件概述和比较 GridView 和 DataGrid Web 服务器控件。

DropDownList
支持新的数据绑定模型,并可以使用数据源控件进行数据检索。

有关更多信息,请参见 DropDownList Web 服务器控件概述。

Image
公开一个 GenerateEmptyAlternateText 属性 (Property),该属性 (Property) 确保为控件所呈现的 HTML 图像元素包含一个空的 alt 属性 (Attribute)。对于使用屏幕读取器的用户来说,这可以提高应用程序的可访问性。

有关更多信息,请参见 Image Web 服务器控件概述。

Label
公开一个 AssociatedControlID 属性,使用该属性,可以将一个 Label 控件与页上的另一个控件进行链接,作为该控件的标题。当用户单击呈现的 HTML label 元素或使用其访问键时,焦点将转移到所关联的控件。

有关更多信息,请参见 Label Web 服务器控件概述。

ListBox
支持新的数据绑定模型,并可以使用数据源控件进行数据检索。

有关更多信息,请参见 ListBox Web 服务器控件概述。

Literal
公开一个 Mode 属性,使用该属性,可以指定控件如何处理其 Text 属性中的 HTML 标记。可以对文本进行编码,以便在不更改文本的情况下传递文本,或对文本进行转换以移除非 HTML 或 XHTML 浏览器不支持的标记元素。

有关更多信息,请参见 Literal Web 服务器控件概述。

Panel
公开一个 ScrollBars 属性,使用该属性,可以为面板指定滚动条。

公开一个 GroupingText 属性,可以为该属性设置一个值,该值将用作在面板周围呈现的方框的标题。

公开一个 DefaultButton 属性,使用该属性,可以为面板指定默认按钮。当用户在文本框中按 Enter 时,将调用默认按钮。

有关更多信息,请参见 Panel Web 服务器控件概述。

RadioButtonList
支持新的数据绑定模型,并可以使用数据源控件进行数据检索。

有关更多信息,请参见 RadioButton 和 RadioButtonList Web 服务器控件概述。

Table
公开在呈现的 HTML 表中呈现 caption 元素的 Caption 和 CaptionAlign 属性。这些属性可用于本身呈现为表的所有 Web 服务器控件,例如 Calendar 和 GridView 控件。

TextBox
支持新增的 AutoCompleteType 属性,使用该属性,可以指定文本框将如何在支持自动完成功能的浏览器中检索值。默认情况下,支持自动完成功能的浏览器会基于控件的 ID(ID 用作 HTML input 元素的 name)为文本框索引可能的值。AutoCompleteType 属性允许您使用控件的 ID(默认),为要使用的控件指定值的类别,或者禁用控件的自动完成功能。

有关 Internet Explorer 中的自动完成功能的更多信息,请在 MSDN Library 网站 上搜索“ Using AutoComplete in HTML Forms ”(在 HTML 窗体中使用自动完成功能)主题。

有关 TextBox 控件的更多信息,请参见 TextBox Web 服务器控件概述。

1.Label控件 当指定AssociatedControlID属性时,其Label 控件呈现为 HTML label 元素,且 for 属性 (Attribute) 设置为关联控件的 ID 属性 (Property)。
<asp:Label ID="Label1" Runat="server" AccessKey="N" 
 AssociatedControlID
="Textbox1">User<u>n</u>ame</asp:Label>
 
<asp:Textbox ID="TextBox1" Runat="server" AccessKey="a"></asp:Textbox>

当鼠标点击label控件时,焦点将跳到TextBox1上

下面为呈现的HTML代码,可以打开源代码查看
<label for="TextBox1" id="Label1" accesskey="N">User<u>n</u>ame</label>
 
<input name="TextBox1" type="text" id="TextBox1" accesskey="a" />

uploads/200605/08_131541_three01.gif


2.Literal Mode 属性 指定控件如何处理其 Text 属性中的 HTML 标记

LiteralMode 枚举值有三个参数

PassThrough
未修改控件的内容。

Encode
控件的内容转换为 HTML 编码的字符串。

Transform
从控件的内容中移除不受支持的标记语言元素。如果 Literal 控件在支持 HTML 或 XHTML 的浏览器上呈现,则不会修改该控件的内容。

以下为示例
<%@ Page Language="VB" %>

<html>
<head>
 
<script runat=Server>
 
 Sub PassThroughButton_Click(ByVal sender As Object, ByVal e As EventArgs)
 
 Literal1.Mode 
= LiteralMode.PassThrough
 
 Label1.Text 
= "The contents of the Literal.Text property " + _
 
"passed through to the browser:"
 
 End Sub
 
 
</script>
</head>
<body>
 
<form ID="Form1" runat="server">
 
 
<h3>Literal.Mode Property Example</h3> 
 
 
<asp:Label ID="Label1"
 Text
="The HTML-encoded contents of the Literal.Text property:"
 runat
=Server> 
 
</asp:Label><br /><br />
 
 
<asp:Literal ID="Literal1"
 Mode
=Encode
 
Text= "<b>bold</b><br/><i>italic</i><br/>" 
 runat
=Server>
 
</asp:Literal>
 
 
<hr />
 
 
<asp:Button ID="PassThroughButton"
 Text
="Pass Through Mode"
 OnClick
="PassThroughButton_Click"
 runat
=Server>
 
</asp:Button>
 
 
</form>
</body>
</html>

3.使用TextBox的AutoCompleteType 属性

大家在填写表单的时候会发现,有时候表单会把你填写过的内容重新提取出来,可能我表达不正确.比如你以前在文本框内输入过Email,然后再次输入EMAIL的第一个字母获取双击文本框,就会出现你以前填写过的EMALI内容,这个就是IE的自动完成功能

uploads/200605/08_134441_snap2.gif


默认情况下,文本框会把你所有的输入记录下来,使用AutoCompleteType 属性可以准确的把输入内容进行分类,AutoCompleteType呈现的HTML属性为vcard_name

uploads/200605/08_134456_snap3.gif


4.Button控件

OnClientClick 属性标识单击按钮后在执行回发之前要调用的客户端方法的名称。在客户端脚本中,可以取消回发。

PostBackUrl 属性允许您通过标识目标页的 URL,将一个 ASP.NET 页发送到另一个页。

UseSubmitBehavior 属性(仅可用于 Button 控件)允许您指定是使用浏览器的提交机制提交页还是使用 ASP.NET 生成的客户端脚本来发送页。
4.1
<%@ Page Language="C#" %>

<script runat="server">
 protected 
void Button1_Click(object sender, EventArgs e)
 
{
 Response.Write(
"Postback!");
 }

</script>

<script language="javascript" type="text/javascript">
 
function AlertHello()
 

 alert('Hello ASP.NET');
 }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
 
<title>Button Server Control</title>
</head>
<body>
 
<form id="form1" runat="server">
 
<asp:Button ID="Button1" Runat="server" Text="Button" 
 OnClientClick
="AlertHello()" OnClick="Button1_Click" />
 
&nbsp;
 
</form>
</body>
</html>

5.Image控件 GenerateEmptyAlternateText 属性 当没alt属性时,指定其属性为true时,可设置alt为空字符串,为符合XHTML

6.Panel控件 ScrollBars 属性,使用该属性,可以为面板指定滚动条

uploads/200605/08_200322_snap4.gif

uploads/200605/08_200327_snap5.gif


GroupingText 属性,可以为该属性设置一个值,该值将用作在面板周围呈现的方框的标题

uploads/200605/08_200505_snap6.gif


DefaultButton 属性 获取或设置 Panel 控件中包含的默认按钮的标识符

7.Table控件

Caption 和 CaptionAlign 属性

设置标题信息以及标题对齐方式

uploads/200605/08_201706_snap7.gif