ASP.NET 3.5 新特性开发向导实践(附项目源码下载)- Part 1

ASP.NET 3.5 新特性开发向导实践(附项目源码下载)- Part 1
 
 
本篇文章将演示ASP.NET 3.5 部分新功能、新特性,包括LINQ、ListView控件、LinqDataSource、DataPager 分页控件、ASP.NET AJAX等等。
 
下载演示项目源码! 
 
1. 创建Web Application – EntLib.com.NewFeatureDemo
2. 增加新的项目文件,选择 LINQ to SQL Classes,命名为 Customers.dbml,如下图所示:



接着打开 Server Explorer,并连接到Northwind 示例数据库,拖放 Customers 表到工作区。如下图所示:



 
保存文件。此时,你可以发现自动生成的代码文件:Customers.designer.cs 文件,包含如下类的定义:
public partial class CustomersDataContext : System.Data.Linq.DataContext
 
3. 下面是LinqDataSource 的使用。
首先将LinqDataSource 控件拖放到 Web Form 中,自动生成的脚本如下:
    <asp:LinqDataSource ID="linqDSCustomers" runat="server">
    </asp:LinqDataSource>
 
在设计窗口,选择 Configure Data Source ,如下图所示:

在弹出窗口中,选择“Show only DataContext objects”选项,如下图所示:



然后,点击 Next 按钮。在接下来的Configure Data Selection 窗口,保持默认值,并点击OrderBy... 按钮,进行排序设定。如下图所示:



这里设定按 CustomerID 进行升序排序,最后点击 OK 按钮。



切换到 Source 窗口,可以看到如下自动生成的脚本:
    <asp:LinqDataSource ID="linqDSCustomers" runat="server"
        ContextTypeName="EntLib.com.NewFeatureDemo.CustomersDataContext"
        OrderBy="CustomerID" TableName="Customers">
    </asp:LinqDataSource>
 
4. 下面添加 ListView 控件,并更名为 lvCustomers,同时设定DataSourceID 为 linqDSCustomers。下面会自动生成的脚本:
    <asp:ListView ID="lvCustomers" runat="server" DataSourceID="linqDSCustomers">
    </asp:ListView>
 
下面配置ListView 控件的Layout,如下图所示:



你可以对自动生成的ListView 的脚本进行编辑和修改。
 
下面分别是<LayoutTemplate><ItemTemplate>的脚本:
 
        <LayoutTemplate>
            <div style="text-align: center; font-family: Verdana, Arial, Helvetica, sans-serif;
                color: Red;"><h2>欢迎访问 http://www.entlib.com/ !!!</h2>
            </div>
            <hr />
            <div id="itemPlaceholderContainer" runat="server" style="font-family: Verdana, Arial, Helvetica, sans-serif;">
                <span id="itemPlaceholder" runat="server" />
            </div>
        </LayoutTemplate>
 
        <ItemTemplate>
            <span style="color: #000000;">CustomerID:
                <asp:Label ID="CustomerIDLabel" runat="server" Text='<%# Eval("CustomerID") %>' />
                <br />
                CompanyName:
                <asp:Label ID="CompanyNameLabel" runat="server" Text='<%# Eval("CompanyName") %>' />
                <br />
                ContactName:
                <asp:Label ID="ContactNameLabel" runat="server" Text='<%# Eval("ContactName") %>' />
                <br />
                ContactTitle:
                <asp:Label ID="ContactTitleLabel" runat="server" Text='<%# Eval("ContactTitle") %>' />
                <br />
                Address:
                <asp:Label ID="AddressLabel" runat="server" Text='<%# Eval("Address") %>' />
                <br />
                City:
                <asp:Label ID="CityLabel" runat="server" Text='<%# Eval("City") %>' />
                <br />
                Region:
                <asp:Label ID="RegionLabel" runat="server" Text='<%# Eval("Region") %>' />
                <br />
                PostalCode:
                <asp:Label ID="PostalCodeLabel" runat="server" Text='<%# Eval("PostalCode") %>' />
                <br />
                Country:
                <asp:Label ID="CountryLabel" runat="server" Text='<%# Eval("Country") %>' />
                <br />
                Phone:
                <asp:Label ID="PhoneLabel" runat="server" Text='<%# Eval("Phone") %>' />
                <br />
                Fax:
                <asp:Label ID="FaxLabel" runat="server" Text='<%# Eval("Fax") %>' />
                <br />
                <br />
            </span>
        </ItemTemplate>
 

现在编译项目,你可以看到一个简单的Web 页面,展示所有Customer 的信息,并按照CustomerID 升序排列。

******
ASP.NET 3.5 新特性开发向导实践(附项目源码下载)- Part 2

后面内容待续......

 

 

posted on 2008-07-30 20:43  EntLib  阅读(2070)  评论(5编辑  收藏  举报