VS2008中的动态数据Web应用程序

介绍了VS2008中动态数据Web应用程序和动态数据实体Web应用程序的使用方法,通过实例演示如何利用LINQ to SQL进行快速开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该篇文章是我于2009年6月10日通过自己编写的工具,批量从位于在博客园的博客站点(http://chenxizhang.cnblogs.com)同步而来。文章中的图片地址仍然是链接到博客园的。特此说明!

陈希章

原文地址:http://www.cnblogs.com/chenxizhang/archive/2008/10/27/1320218.html
原文标题:VS2008中的动态数据Web应用程序
原文发表:2008/10/27 2:28:00

今天在开VS2008的时候发现两个新的模板:动态数据Web应用程序和动态数据实体Web应用程序,如下图所示

image

网上搜了搜,才知道这两个模板估计是用来展示一个完整的数据库表格增删改查的特性的。他们分别用到了LINQ to sql和ADO Entity Framework

动态数据Web应用程序:使用Linq to sql模型

动态数据实体Web应用程序:使用ADO.NET Entity Framework Model

下面来演示一下大致怎么用

1. 新建一个动态数据Web应用程序

2. 创建一个LINQ to sql类型,利用Northwind数据建模

image

3. 修改global.asax

model.RegisterContext(typeof(NorthwindDataContext), new ContextConfiguration() { ScaffoldAllTables = true });

把其他那些注释的代码也都反注释

4. 调试运行站点

image

image

注意看最后一列,可以链接到该Customer的订单记录

image

 

image

注意,这些分页效果以及筛选的功能都是不刷新页面的,比较彪悍,接下来可以研究一下看看(补充一下,它是用到了AJAX的实现)

    <asp:ScriptManagerProxy runat="server" ID="ScriptManagerProxy1" />
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:ValidationSummary ID="ValidationSummary1" runat="server" EnableClientScript="true"
                HeaderText="验证错误的列表" />
            <asp:DynamicValidator runat="server" ID="GridViewValidator" ControlToValidate="GridView1" Display="None" />
 
            <asp:FilterRepeater ID="FilterRepeater" runat="server">
                <ItemTemplate>
                    <asp:Label runat="server" Text='<%# Eval("DisplayName") %>' AssociatedControlID="DynamicFilter$DropDownList1" />
                    <asp:DynamicFilter runat="server" ID="DynamicFilter" OnSelectedIndexChanged="OnFilterSelectedIndexChanged" />
                
   ItemTemplate>
                <FooterTemplate><br /><br />
   FooterTemplate>
            
   asp:FilterRepeater>
 
            <asp:GridView ID="GridView1" runat="server" DataSourceID="GridDataSource"
                AllowPaging="True" AllowSorting="True" CssClass="gridview">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:HyperLink ID="EditHyperLink" runat="server"
                                NavigateUrl='<%# table.GetActionPath(PageAction.Edit, GetDataItem()) %>'
                            Text="编辑" /> <asp:LinkButton ID="DeleteLinkButton" runat="server" CommandName="Delete"
                                CausesValidation="false" Text="删除"
                                OnClientClick='return confirm("Are you sure you want to delete this item?");'
                            /> <asp:HyperLink ID="DetailsHyperLink" runat="server"
                                NavigateUrl='<%# table.GetActionPath(PageAction.Details, GetDataItem()) %>'
                                Text="详细信息" />
                        
   ItemTemplate>
                    
   asp:TemplateField>
                
   Columns>
 
                <PagerStyle CssClass="footer"/>        
                <PagerTemplate>
                    <asp:GridViewPager runat="server" />
                
   PagerTemplate>
                <EmptyDataTemplate>
                    此表中当前没有项。
                
   EmptyDataTemplate>
            
   asp:GridView>
 
            <asp:LinqDataSource ID="GridDataSource" runat="server" EnableDelete="true">
                <WhereParameters>
                    <asp:DynamicControlParameter ControlID="FilterRepeater" />
                
   WhereParameters>
            
   asp:LinqDataSource>
 
            <br />
 
            <div class="bottomhyperlink">
                <asp:HyperLink ID="InsertHyperLink" runat="server"><img runat="server" src="~/DynamicData/Content/Images/plus.gif" alt="插入新项" />插入新项
   asp:HyperLink>
            
   div>
        
   ContentTemplate>
    
   asp:UpdatePanel>

 

还有几个详细信息视图

image

image

新增记录的界面

image

另外,这两套东西都是基于MVC框架的

作者:陈希章
出处:http://blog.youkuaiyun.com/chen_xizhang
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值