登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 外文翻译 > 计算机类 > 软件工程 > 正文

ASP.NET4.5的数据绑定外文翻译资料

 2022-12-05 16:55:18  

Data Binding in ASP.NET 4.5

The chapters you have explored so far in this book have been focused on data access. You learned how easily you can create a data access layer using Entity Framework. You also learned about the different data access paradigms and how data access technologies are becoming standardized by means of protocols like OData for universal distribution.

In this chapter, we will shift gears and focus on data presentation. Although it is not unfamiliar territory, there has been continuous improvement in this area since ASP.NET 2.0. While ASP.NET 2.0 brought with it the addition of powerful data presentation capabilities in the form of Data Source Controls and an array of Web controls,

ASP.NET 4.5 has taken it further by introducing features like Strongly Typed Data Controls and the all-new Model

Binding capability—straight out of the ASP.NET MVC Framework—that you will learn about shortly.

A significant and visible improvement has also occurred in the area of ASP.NET MVC and, with increasing popularity, ASP.NET MVC 4 is aiming to take its fair share of the new Web application development market that supports modern Web platforms like HTML 5. ASP.NET MVC also introduced a new view engine called Razor. Although not strictly tied to ASP.NET MVC, Razor brings to the table a host of data presentation capabilities. Coupled with Ajax, you will learn how easy it is to fetch data asynchronously and bind it to HTML controls for display.

In this chapter, we will cover the following:

u How to perform CRUD operations using LinqDataSource and EntityDataSource Controls.

u How the new data presentation controls work with the data source controls.

u What the new data-binding features in ASP.NET 4.5 are.

u How to do data binding in ASP.NET MVC 4.

Furthermore, in this chapter, you will apply your knowledge of data access and learn how to create useful visualizations using presentation tier components.

Data Source Controls

Data source controls are not new. They have provided easy access to data from a variety of sources, including databases like Microsoft SQL Server and CLR objects, since ASP.NET 2.0. They can be used either declaratively or in code, providing lots of flexibility and ease when performing CRUD operations in conjunction with presentation Web controls like GridView. There has been continuous improvement in ASP.NET Web controls—stack and newer controls are added with each new version of .NET. You explored the SqlDataSource control in ASP.NET 2.0 that allowed you

to perform data access and manipulation operations on a Microsoft SQL Server database. In this section, you will explore two new data source controls, LinqDataSource and EntityDataSource, which have been introduced to support ORM-style data access using LINQ to SQL and Entity Framework.

S. Chanda et al., Beginning ASP.NET 4.5 Databases

copy; Sandeep Chanda and Damien Foggon 2013

N Note

Data source controls like SqlDataSource have been discussed in detail in the previous version of this book,

Beginning ASP.NET 2.0 Databases: From Novice to Professional. You are strongly encouraged to pick up a copy of it if you are not familiar with the concept.

LinqDataSource

The LinqDataSource (System.Web.UI.WebControls) control allows you to use a LINQ to SQL data context

class as a source of data and then perform CRUD operations. A LinqDataSource control can be associated with data presentation controls like GridView and ListView. The following code demonstrates a simple example of LinqDataSource control used declaratively in an ASPX file:

lt;asp:LinqDataSource ID='StoreDataSource' runat='server' ContextTypeName='DataSourceControls.StoreDataContext' TableName='Contacts'

Select='new (Name, Email, State, ID)'gt;

lt;/asp:LinqDataSourcegt;

The preceding code uses a LINQ to SQL data context class generated from the Store database, and it fetches information from the Contacts table. Associated with a GridView control, it will display the records present in the Contacts table.

lt;asp:GridView ID='StoreContactsView' runat='server' DataSourceID='StoreDataSource' AutoGenerateColumns='False'gt;

lt;Columnsgt;

lt;asp:BoundField DataField='Name' HeaderText='Name' ReadOnly='True' SortExpression='Name' /gt;

lt;asp:BoundField DataField='Email' HeaderText='Email' ReadOnly='True' SortExpression='Email' /gt;

lt;asp:BoundField DataField='State' HeaderText='State' ReadOnly='True' SortExpression='State' /gt;

lt;asp:BoundField DataField='ID' HeaderText='ID' ReadOnly='True' SortExpression='ID' /gt;

lt;/Columnsgt;

lt;/asp:GridViewgt;

The control opens up lot of possibilities in querying data. For example, you could filter the results using the Where

clause. To select Contacts in the State of CA, you could provide the following Where clause:

lt;asp:LinqDataSource ID='StoreDataSource' runat='server' ContextTypeName=' DataSourceControls.StoreDataContext' TableName='Contacts'

Where=State = 'CA'

Select='new (Name, Email, State, ID)'gt;

lt;/asp:LinqDataSourcegt;

A more useful and practical possibility will be to let users choose the State from a drop-down, and the results will automatically be filtered based on the selected State. To implement this feature, first create a DropDownList control holding the filter condition values (AZ and CA in our case).

lt;asp:DropDownList AutoPostBack='true' ID='StateDropDown' runat='server'gt;

lt;asp:ListItem Value='CA'gt;lt;/asp:ListItemgt;

lt;asp:ListItem Value='AZ'gt;lt;/asp:ListItemgt;

lt;/asp:DropDownListgt;

N Note

The AutoPostBack attribute of the DropDownList control is set

剩余内容已隐藏,支付完成后下载完整资料


ASP.NET4.5的数据绑定

你已经探索的章节在这本书至今一直专注于数据访问。您学习了如何轻松地创建使用Entity Framework的数据访问层。您也了解了不同的数据访问模式和如何数据访问技术正成为像的OData协议通用通讯方式标准化。

在本章中,我们将换挡并专注于数据演示。虽然它不是陌生的领域,出现了不断的改进,因为在ASP.NET 2.0这个区域。虽然ASP.NET 2.0带来了附加的数据源控件的形式和Web控件数组强大的数据演示功能,ASP.NET 4.5通过引入像强类型数据控件以及全新车型的特点进一步采取它结合能力,径直出了ASP.NET MVC框架,你将了解不久。

一个显著和明显的改善,也发生在ASP.NET MVC的区域,并与日益普及,ASP.NET MVC 4的目标是利用其支持像HTML 5的现代网络平台的新的Web应用程序开发市场的公平份额。 ASP.NET MVC也引入了剃刀一个新的视图引擎。虽然不是严格与ASP.NET MVC,剃刀带来的表的数据演示功能的主机。加之Ajax,您将学习如何轻松异步获取数据并将其绑定到HTML控显示。

在本章中,我们将涵盖以下内容:

  1. 如何执行使用的LinqDataSource和EntityDataSource控件CRUD操作。
  2. 如何让新的数据呈现控件与数据源控件工作。
  3. 什么在ASP.NET 4.5中新的数据绑定功能。
  4. 如何让数据的ASP.NET MVC 4绑定。

此外,在本章中,您将应用的数据访问的知识,学习如何创建使用表现层的组件很有用的可视化。

数据源控件数据源控件并不新鲜。他们提供从多种来源,包括像微软SQL Server和CLR对象数据库,方便地访问数据,因为ASP.NET 2.0。它们既可以用于声明或代码,提供了很大的灵活性,并与喜欢的GridView呈现Web控件执行一起CRUD操作的时候游刃有余。已经有持续改进ASP.NET Web控件栈和新的控制与.NET的每个新版本增加。您在ASP.NET 2.0中,允许您介绍了SqlDataSource控件执行Microsoft SQL Server数据库中的数据访问和处理操作。在本节中,将探索两个新的数据源控件,使用LinqDataSource和EntityDataSource,已经推出了支持使用LINQ to SQL和Entity Framework ORM风格的数据访问。

注意:

喜欢的SqlDataSource数据源控件进行了详细在以前版本的这本书的讨论,开始ASP.NET 2.0数据库:从入门到精通。强烈建议你拿起它的一个副本,如果你不熟悉的概念。

使用LinqDataSource:

在使用LinqDataSource(System.Web.UI.WebControls)控制允许您使用LINQ到SQL数据上下文类作为数据源,然后执行CRUD操作。LinqDataSource控件都可以用类似的GridView和ListView的数据显示控件相关联。下面的代码演示在ASPX文件中声明使用LinqDataSource控件的一个简单的例子:

lt;asp:LinqDataSource ID='StoreDataSource' runat='server' ContextTypeName='DataSourceControls.StoreDataContext' TableName='Contacts'

Select='new (Name, Email, State, ID)'gt;

lt;/asp:LinqDataSourcegt;

上面的代码使用LINQ从存储数据库生成的SQL数据上下文类,它将从联系人表中的信息。与GridView控件相关联,它会显示出现在联系人表中的记录。

lt;asp:GridView ID='StoreContactsView' runat='server' DataSourceID='StoreDataSource' AutoGenerateColumns='False'gt;

lt;Columnsgt;

lt;asp:BoundField DataField='Name' HeaderText='Name' ReadOnly='True' SortExpression='Name' /gt;

lt;asp:BoundField DataField='Email' HeaderText='Email' ReadOnly='True' SortExpression='Email' /gt;

lt;asp:BoundField DataField='State' HeaderText='State' ReadOnly='True' SortExpression='State' /gt;

lt;asp:BoundField DataField='ID' HeaderText='ID' ReadOnly='True' SortExpression='ID' /gt;

lt;/Columnsgt;

lt;asp:Gridviewgt;

控制开辟了很多可能性在查询数据。例如,你可以使用Where筛选结果条款。在CA的状态来选择联系人,你可以提供以下WHERE子句:

lt;asp:LinqDataSource ID='StoreDataSource' runat='server' ContextTypeName=' DataSourceControls.StoreDataContext' TableName='Contacts'

Where=State = 'CA'

Select='new (Name, Email, State, ID)'gt;

lt;/asp:LinqDataSourcegt;

更有益和实用的可能性将是让用户从下拉列表中选择国家,其结果将自动被过滤的基础上选定的国家。要实现此功能,首先要创建一个DropDownList控件保持过滤器条件值(AZ和CA在我们的例子)。

lt;asp:DropDownList AutoPostBack='true' ID='StateDropDown' runat='server'gt;

lt;asp:ListItem Value='CA'gt;lt;/asp:ListItemgt;

lt;asp:ListItem Value='AZ'gt;lt;/asp:ListItemgt;

lt;/asp:DropDownListgt;

注意:

DropDownList控件的AutoPostBack属性设置为true。这将使显示被刷新当您选择在下拉选项。创建一个控制参数作为StoreDataSource控制的WhereParameters参数集合的一部分。数据源控件应该是这样的:

lt;asp:LinqDataSource ID='StoreDataSource' runat='server' ContextTypeName=' DataSourceControls. StoreDataContext'

TableName='Contacts' Where=State = @State Select='new (Name, Email, State, ID)'gt;

lt;WhereParametersgt;

lt;asp:ControlParameter Name='State' DefaultValue='CA' ControlID='StateDropDown' Type='String' /gt;

lt;/WhereParametersgt;

lt;/asp:LinqDataSourcegt;

当你运行应用程序时,将显示与国家CA备案。如果从下拉列表中选择AZ,数据会在网格刷新,你会看到国家相关AZ的记录。

除了在哪里以及选择条款,LinqDataSource控件还支持排序依据,GROUPBY和插入子句和参数。可能,你可以使用显示与选择沿GROUPBY子句复杂汇总结果。聚合函数SELECT子句中也同样支持。

虽然声明的格式非常简单,可读,你会发现自己在一个情况下一个复杂的操作需要涉及LinqDataSource控件来执行,并且它可能不会在声明性方式容易地实现。没有与LinqDataSource控件相关的几个事件。你可以在代码中编写事件处理程序,同时被触发事件执行复杂的操作。例如,早期的Where子句可以作出对控制的选择事件的事件处理程序的一部分。

protected void StoreDataSource_Selecting(object sender, LinqDataSourceSelectEventArgs e)

{

var result = from contact in context.Contacts where contact.State == 'CA' select contact;

e.Result = result;

}

这将显示相同的行为与前面的例子,它会显示记录CA的国家必须在存储数据源中指定的处理程序控制onselecting事件:

lt;asp:LinqDataSource ID='StoreDataSource' runat='server' ContextTypeName=' DataSourceControls. StoreDataContext'

TableName='Contacts'

Select='new (Name, Email, State, ID)' onselecting='StoreDataSource_Selecting'gt;

lt;/asp:LinqDataSourcegt;

注意

在这里展示的例子中,结果是一样的,你是否赞成一个声明样式或编程控制。然而,编程控制提供了进行数据访问和操纵操作的灵活性。

接下来,您将了解名为EntityDataSource另一个数据源控件。它在很多方面非常相似,使用LinqDataSource,但它与实体框架数据上下文类的工作,而不是LINQ to SQL的。如果你想知道为什么数据处理以前未讨论过,这正是你将学习与EntityDataSource控件做。

EntityDataSource

EntityDataSource控件让您使用EDM作为像GridView控件和DetailsView控件呈现数据的来源。类似LinqDataSource控件,您可以指定从那里实体细节将获取数据上下文类。让我们来探讨以配置EntityDataSource控件所需的步骤。

提示:

创建一个EntityDataSource控件并将其配置为执行CRUD操作上的存储数据库。

你可以使用Visual Studio2010或Visual Studio2012年以外,运行这个练习同样出色,没有任何先决条件。所以,在这里是要遵循的步骤:

从你的实例创建一个新的Visual C#ASP.NET Web窗体应用程序项目Visual Studio和命名DataSourceControls,如图10-1所示。

图10-1。创建一个新的ASP.NET Web窗体应用程序

2.创建一个EDM使用存储数据库从SQL Server实例生成名为StoreEntities。而产生电火花,确保按提示保存命名实体连接字符串(默认为存储数据库StoreEntities)在Web.config文件中。

3.新的Web窗体添加到项目并将其命名为Orders.aspx。在Orders.aspx页面,拖放从工具箱中GridView控件。这是数据标签下,如图10-2所示。

图10-2。添加一个GridView控件到页面Orders.aspx

  1. 一旦放置在窗体元素中的控制,点击GridView任务图标下控件声明直接突出。在GridView上最常执行的任务显示为菜单,如图10-3。正如你所看到的,选择数据源被列为选项。

图10-3。从GridView的智能任务窗格中选择数据源

注意

如果您在使用Visual Studio2012,你会发现,有能力推出最经常执行的任务

菜单也将在源代码视图中可用。这是被称为智能任务。此前,这只是在设计视图是可能的。

  1. 在在GridView任务菜单中选择数据源选项中,选择lt;新数据源gt;。在选择显示数据源类型对话框。从可用类型列表中实体的选择,因为StoreDataSource键入名称,然后单击确定。这在图10-4示出。

图10-4。选择实体作为数据源类型

  1. 在配置ObjectContext的对话框中,选择下StoreEntities连接字符串如图命名的连接和DefaultContainerName为StoreEntities,图10-5。单击下一步显示内容。

图10-5。配置StoreEntities作为数据上下文

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[28827],资料为PDF文档或Word文档,PDF文档可免费转换为Word

    lt;
您需要先支付 30元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图