关于我们 广告服务 社区论坛
设为首页 加入收藏

行业新闻
服 务 器
模版下载
建站指南
冲浪宝典
办公软件
网站运营
操作系统
QQ 专题
网页制作
安全防御
视频教程
网络编程
SEO专区
软件下载
图像设计
Cisco
网页特效
Wap 技术
联盟赚钱
网页素材
 首页 | 企业建站 | 网页制作 | 网站运营 | 网络编程 | 图像设计 | 冲浪宝典 | 操作系统 | SEO专区 | 联盟赚钱 | Cisco

欢迎来到e天下网络首页>>网络编程>>ASPNET>>正文|用ASP.NET 2.0 FormView控件控制显示

用ASP.NET 2.0 FormView控件控制显示

[ 来路:21kn.com    时间:2007-7-8 17:52:51    点击: ]

 

ASP.NET 2.0的FormView控件类似于DetailsView控件,因为它能方便地显示后端数据源的单个记录。本文将讨论这个控件的语法和应用。

用户化

虽然这两个控件一次显示一条记录,DetailsView和FormView的关键差别在于:FormView利用用户定义的模板;而DetailsView则使用行字段。FormView控件没有预先定义数据布局;相反,你建立一个包含控件的模板来显示记录中的单个字段。模板中包含建立表单所要用到的格式、控件和绑定表达式。

你可以控制数据记录以三种形式显示:编辑、查看和添加一条新记录。另外,你可以包括和格式化标题与页脚元素。你还可以利用FormView控件各个部分中的任何一个有效的ASP.NET控件。

语法

宣称和使用一个FormView控件实例与宣称和使用一个DetailsView控件实例非常相似。它们的主要区别是,因为没有默认设置可以使用,你必须在FormView控件中包含显示数据的格式和模板。下面代码显示了打开FormView元素标签的一部分语法。

<asp:FormView
AllowPaging="True|False"
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
Inset|Outset"
BorderWidth="size"
Caption="string"
CaptionAlign="NotSet|Top|Bottom|Left|Right"
CellPadding="integer"
CellSpacing="integer"
CssClass="string"
DataKeyNames="string"
DataSourceID="string"
DefaultMode="ReadOnly|Edit|Insert"
EmptyDataText="string"
Enabled="True|False"
GridLines="None|Horizontal|Vertical|Both"
runat="server"
SkinID="string"
Style="string"
Visible="True|False">

你可能已经注意到,许多属性和HTML表格元素相对应,如标题和边框。这说明ASP.NET使用HTML表格来呈现FormView控件。

你可以通过微软网站在线查看一个更加全面的FormView控件属性列表。下表列出了一些值得关注的重要属性。

  • AllowPaging:一个说明用户能否对指定数据源中的记录分页的布尔值。如果设为真,则在所显示记录的底部显示默认的分页数字系统(从1到记录的数量)。分页链接可以通过各种分页属性自定义。
  • DataKeyNames:数据源的键字段。
  • DataSourceID:用来移植FormView控件数据源元素ID。如果使用SQL Server,它与分配给SqlDataSource元素的ID对应。
  • DefaultMode:允许你指定控件的默认行为。也就是说,在用户访问时,它最初如何显示。可能的值包括:ReadOnly、Insert和Edit。
  • EmptyDataText:遇到空数据值时显示的文本。

宣称FormView控件时,还必须对它的内容进行相应格式化。它的数据通过模板显示。FormView控件主要使用五个模板:

  • ItemTemplate:它控制用户查看数据时的显示情况。
  • EditItemTemplate:它决定用户编辑记录时的格式和数据元素的显示情况。在这个模板内,你将使用其它控件,如TextBox元素,允许用户编辑值。
  • InsertItemTemplate:与编辑一条记录相似,这个模板控制允许用户在后端数据源中添加一条新记录的字段的显示。由于输入了新的值,应该根据数据的要求允许用户自由输入文本或限制某些值。
  • FooterTemplate:决定FormView控件表格页脚部分显示的内容,如果有的话。
  • HeaderTemplate:决定FormView控件表格标题部分显示的内容,如果有的话。

这些模板允许你控制绑定到一个FormView控件的数据的显示和行为。例如,下面代码中的ASP.NET Web表单连接到标准的Northwind数据库,允许用户通过名字、姓、雇用日期和家庭电话号码字段查看、编辑、删除和添加新的员工记录。

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>FormView Example</title>
</head><body>
<form id="frmFormViewExample" runat="server">
<asp:SqlDataSource 
ID="fvExample"
ConnectionString="Server=localhost;Database=Northwind;Trusted_Connection=true"
SelectCommand="SELECT EmployeeID, LastName, FirstName, HomePhone, HireDate FROM Employees"
Runat="Server"
UpdateCommand="UPDATE Employees SET LastName=@LastName, FirstName=@FirstName, HomePhone=@HomePhone, HireDate=@HireDate WHERE EmployeeID=@EmployeeID"  
DeleteCommand="DELETE FROM Employees WHERE EmployeeID=@EmployeeID"
InsertCommand="INSERT INTO Employees (LastName, FirstName, HomePhone, HireDate) VALUES (@LastName, @FirstName, @HomePhone, @HireDate)" />
<div>
<asp:FormView ID="EmpDetails" runat="server"
DataKeyNames="Employeeid"
DataSourceId="fvExample" AllowPaging="true">
<ItemTemplate>
<table style="font-family: Sans Serif; font-size: medium;">
<tr><td colspan="2" style="background: gray; font-weight: bold;">
<%# Eval("LastName") + ", " + Eval("FirstName")  %></td></tr>
<tr><td>ID</td>
<td><%# Eval("EmployeeID") %></td></tr>
<tr><td>Phone</td>
<td><%# Eval("HomePhone") %><br></td></tr>
<tr><td>Hired</td>
<td><%# Eval("HireDate", "") %><br></td></tr>
<tr><td colspan="2">
<asp:Button ID="btnEdit" CommandName="Edit" Text="Edit" runat="server"/>
<asp:Button ID="btnDelete" CommandName="Delete" Text="Delete" runat="server"/>
<asp:Button ID="btnAdd" CommandName="New" Text="New" runat="server"/></td></tr>
</table>
</ItemTemplate>
<EditItemTemplate>
<table>
<tr><td>ID</td>
<td><%# Eval("EmployeeID") %><br></td></tr>
<tr><td>Last Name</td>           
<td><asp:TextBoxRunat="server" ID="TextBox2" Text='<%# Bind("LastName") %>' /></td>
</tr>
<tr><td>First Name</td>
<td><asp:TextBoxRunat="server" ID="FirstName" Text='<%# Bind("FirstName") %>' /></td>
</tr>
<tr><td>Phone</td>           
<td><asp:TextBoxRunat="server" ID="txtPhone" Text='<%# Bind("HomePhone") %>' /></td>
</tr>
<tr><td>Hire Date</td>           
<td><asp:TextBoxRunat="server" ID="txtHireDate" Text='<%# Bind("HireDate") %>' /></td></tr>
<tr><td colspan="2">
<asp:Button ID="btnUpdate" CommandName="Update" Text="Update Employee" runat="server"/>
<asp:Button ID="btnCancel" CommandName="Cancel" Text="Cancel" runat="server"/></td></tr></table>
</EditItemTemplate>
<InsertItemTemplate>
<table>
<tr><td><b>Last Name</b></td>
<td><asp:TextBoxRunat="server" ID="TextBox1" Text='<%# Bind("HomePhone") %>' /></td></tr>
<tr><td><b>First Name</b></td>
<td><asp:TextBoxRunat="server" ID="FirstName" Text='<%# Bind("FirstName") %>' /></td></tr>
<tr><td><b>Home Phone</b></td>
<td><asp:TextBoxRunat="server" ID="txtHomePhone2" Text='<%# Bind("HomePhone") %>' /></td></tr>
<tr><td><b>Hired</b></td>
<td><asp:TextBoxRunat="server" ID="txtHireDate2" Text='<%# Bind("HireDate") %>' /></td></tr>
<tr><td colspan="2">
<asp:Button ID="btnInsert" CommandName="Insert" Text="Save" runat="server"/>
<asp:Button ID="btnCancel2" CommandName="Cancel" Text="Cancel" runat="server"/></td></tr>
</table>
</InsertItemTemplate>
</asp:FormView>
</div></form></body></html>

它使用TextField控件显示被编辑或添加的数据,以及只是为了查阅而显示的值。ItemTemplate使用CSS格式化表格,而InsertTemplate则使用HTML样式进行格式化,到底使用哪种方法由开发者决定。

:ASP.NET用Button控件添加、编辑、删除和保存记录。

在Button控件中,New的CommandName值将记录转换为插入模式并加载InsertItemTemplate模板,它允许用户输入一个新记录值。你可以用Edit的CommandName值给ItemTemplate增加一个新按钮,使FormView控件进入编辑模式。

可以给ItemTemplate模板增加一个带Delete的CommnadName值的按钮,允许用户从数据源中删除当前记录。Update的CommnadName保存数据,而Cancel终止操作。

开发者控制

许多ASP.NET 2.0新功能的易用性令人惊喜。FormView对DetailsView的简单功能进行了扩张,允许你根据需要轻松控制要格式化的显示内容。这个新控件为你交付解决方案提供另一个选项。

Tony Patton拥有丰富的Java、VB、Lotus及XML方面的知识,是一个专业的应用程序开发人员。

::::站长友情提示:多花一分钟学点什么都好::::

 

上一篇:了解ASP2.0向其它网页传递信息的方法  下一篇:组合ASP.NET 2.0数据控件构建强大用户接口

 ::热点信息::

 

= = 免责声明 = =

① 欢迎转载我网所刊信息,请注明“来源:E天下网络”。
② 凡本网注明“来源:XXX(非E天下网络)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行。
※联系方式:Airtofly@163.com

::推荐文章::

 

ASP教程:详细学习ASP的内置对象

::图像设计::

 

动态图片搜索家——GIF RUNN
软件搜索利器——FileFerret
实例说明构图要讲规律
Character Builder让你尽展靓
全景图速成者Cool360
三维模型速成工具——Canoma
剪贴专家SmartBoard 32
新世纪的图像处理利器——Ph
更多内容..

 

 

关于我们 广告服务 友情链接 合作伙伴 社区论坛 免责声明

Copyright © 2007   21kn.com Inc. All rights reserved.e天下网络工作室

网站白天客服QQ:26875416 (非24小时)  合作QQ:597004688    粤ICP备06026423号