10.3 增强的Dynamic Data控件
知识点讲解:光盘:视频\PPT讲解(知识点)\第10章\增强的Dynamic Data控件.mp4
Dynamic Data控件犹如ASP.NET的Ruby on Rails,它无需配置、无需代码、无需任何干预,只使用一个控件即可完成一个完整的数据驱动程序。动态数据控件会自动搜寻项目中的数据库,自动选择与页面文件名相同的数据表,自动提供列表显示、详细内容显示、过滤、分页、排序、添加、删除、编辑、修改以及RSS等功能,所有功能都是自动的。ASP.NET4.5中的Dynamic Data控件功能更加强大,在下面的内容中将向你具体展示。
在ASP.NET 4.5中,Dynamic Data控件新增了如下4个可选值。
(1)EnableDynamicData:启用 Dynamic Data的功能。
(2)DynamicHyperLink:用于方便地生成在Dynamic Data站点中导航的超链接;
(3)Entity Template:实体模板是一个新增的用于自定义数据显示的模板,其基于FormView控件做数据呈现。
(4)DisplayAttribute:新增的一个Attribute,可以设置字段的Name和Order。
1.演示EnableDynamicData
实例051 演示EnableDynamicData的使用
源码路径 光盘\daima\10\ DynamicData\ 视频路径 光盘\视频\实例\第10章\051
首先编写实现文件EnableDynamicData.aspx,其主要代码如下。
<%@ Page Language="C#|" AutoEventWireup="true" CodeBehind="EnableDynamicData.aspx.cs"
Inherits="DynamicData.Demo.EnableDynamicData" %>
<!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></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<!--收集并显示由 Dynamic Data 所做的数据验证的结果-->
<asp:ValidationSummary ID="ValidationSummary1" runat=
"server" EnableClientScript="true" HeaderText="验证错误的列表" />
<asp:DetailsView ID="DetailsView1" runat="server" AllowPaging=
"True" DataKeyNames="ProductID"
DataSourceID="EntityDataSource1">
<Fields>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" ShowInsertButton="True" />
</Fields>
</asp:DetailsView>
<asp:EntityDataSource ID="EntityDataSource1" runat="server" ConnectionString="name=AdventureWorksEntities"
DefaultContainerName="AdventureWorksEntities" EnableDelete="True" EnableInsert="True"
EnableUpdate="True" EntitySetName="Products" EnableFlattening="False">
</asp:EntityDataSource>
</div>
</form>
</body>
</html>
范例101:使用Accordion控件实现折叠面板
源码路径:光盘\演练范例\101视频路径:光盘\演练范例\101范例102:用DragPanelExtender
实现拖曳层
源码路径:光盘\演练范例\102视频路径:光盘\演练范例\102\
编写处理文件EnableDynamicData.aspx.cs,其主要实现代码如下。
public partial class EnableDynamicData : System.Web.UI.Page
{
protected void Page_Init()
{
DetailsView1.EnableDynamicData(typeof(Product), new { Name = "默认名称" });
}
protected void Page_Load(object sender, EventArgs e)
{
}
}
通过上述代码,启动了Dynamic Data控件的新功能。
2.演示DynamicHyperLink
实例052 演示DynamicHyperLink的使用
源码路径 光盘\daima\10\ DynamicData\ 视频路径 光盘\视频\实例\第10章\052
首先编写实现文件DynamicHyperLinkDemo.aspx,其主要代码如下。
<%@ Page Language="C#|" AutoEventWireup="true" CodeBehind="DynamicHyperLinkDemo.aspx.cs"
Inherits="DynamicData.Demo.DynamicHyperLinkDemo" %>
<!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></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<!--
DynamicHyperLink -
Action - 指定 Action(可选值
有List|Details|Edit|Insert)
TableName - 需要链接到的目标表名
ContextTypeName - 上下文的类全名
-->
<asp:DynamicHyperLink ID="ListHyperLink" runat="server" Text="全部产品" Action="List"
TableName="Products" ContextTypeName="DynamicData.AdventureWorksEntities">
</asp:DynamicHyperLink>
<!--
范例103:用Timer控件实现Ajax聊天室
源码路径:光盘\演练范例\103视频路径:光盘\演练范例\103范例104:CollapsiblePanelExtender实现最小化
源码路径:光盘\演练范例\104视频路径:光盘\演练范例\104\
生成的HTML代码如下:
<a id="ListHyperLink" href="/Products/List.aspx">全部产品& lt;/a>
-->
</div>
</form>
</body>
</html>
在上述代码中,通过DynamicHyperLink生成了在Dynamic Data站点中导航的超链接。
共有条评论 网友评论