Asp.net dynamic Data web Site 之二建立第一個Web Site

來源:互聯網
上載者:User
文章目錄
  • 環境
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的規則控製表的修改,新增操作頁面;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.