前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Asp.net dynamic Data web Site 之二创建第一个Web Site

Asp.net dynamic Data web Site 之二创建第一个Web Site

作者头像
阿新
发布2018-04-12 17:53:57
1.4K0
发布2018-04-12 17:53:57
举报
文章被收录于专栏:c#开发者c#开发者

Asp.net dynamic Data web Site 之二创建第一个Web Site

本专题介绍一个ASP.NET动态数据的网站的布局,其中包括这些文件默认情况下创建相关文件夹和文件。

创建一个动态数据网站(Dynamic Data Web Site)

环境

vs.net 2008 + sp1

Dynamic Data Wizard 080608(http://www.codeplex.com/aspnet)

提供一个向导方式创建一个Dynamic Data Web Site

知识点:

LINQ-TO-SQL,Ado.net framework entity

System.Web.Routing

  1. 通过动态数据网站模板创建一个项目Dynamic Data Entities Web Site(数据源是ado.net entity framework 提供) ,Dynamic Data Web Site(数据源是LINQ-To-SQL提供)

图表 1

  1. 利用动态数据创建的网站布局,就是这些模板生成用户控件包括网页模板,字段模板,内容(css,图片,js等)。

图表 2

图表 3

文件夹和文件

下表介绍了在ASP.NET动态数据网站在根目录级创建的文件和文件夹。

文件和文件夹

描述

DynamicData

包含显示和操作数据的页面和自定义控件,页面,和子控件如字段控件

Default.aspx

一个默认首页面显示所有注册的数据模型及表名。通过一个超链接,显示选择表的内容。

Global.asax

包含一个 注册数据库实例元模型的方法,并新增一个RouteCollection对象

Site.css

站点和控件的显示风格

Site.master

站点模板

web.config

配置文件,加载必要的类库

Web.Config

图表 4

  1. 添加一个元数据库实例模型(LINQ-TO-SQL)

图表 5

  1. 注册这个元数据模型,打开Global.asax

public static void RegisterRoutes(RouteCollection routes) {

MetaModel model = new MetaModel();

//model.RegisterContext(typeof(YourDataContextType), new ContextConfiguration() { ScaffoldAllTables = false });

routes.Add(new DynamicDataRoute("{table}/{action}.aspx") {

Constraints = new RouteValueDictionary(new { action = "List|Details|Edit|Insert" }),

Model = model

});

//routes.Add(new DynamicDataRoute("{table}/ListDetails.aspx") {

// Action = PageAction.List,

// ViewName = "ListDetails",

// Model = model

//});

//routes.Add(new DynamicDataRoute("{table}/ListDetails.aspx") {

// Action = PageAction.Details,

// ViewName = "ListDetails",

// Model = model

//});

}

将创建的LINQ-TO-SQL注册到MetaModel中

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

  1. 测试一下,编译后F5,一个网站创建完毕

图表 6

首页的代码片断,显示所有注册的表

protected void Page_Load(object sender, EventArgs e)

{

System.Collections.IList visibleTables = MetaModel.Default.VisibleTables;

if (visibleTables.Count == 0)

{

throw new InvalidOperationException("There are no accessible tables. Make sure that at least one data model is registered in Global.asax and scaffolding is enabled or implement custom pages.");

}

Menu1.DataSource = visibleTables;

Menu1.DataBind();

}

图表 7

各个页面中的超链接通过RouteCollection(System.Web.Routing)的路由规则进行页面间的跳转和对数据新增/修改/删除操作;关于System.Web.Routing在asp.net mvc中有比较详细的介绍

routes.Add(new DynamicDataRoute("{table}/{action}.aspx") {

Constraints = new RouteValueDictionary(new { action = "List|Details|Edit|Insert" }),

Model = model

});

下期讲如何通过Routing的规则控制表的修改,新增操作页面;

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2008-09-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Asp.net dynamic Data web Site 之二创建第一个Web Site
    • 创建一个动态数据网站(Dynamic Data Web Site)
      • 环境
    • 文件夹和文件
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档