ASP.NET Dynamic Data Part.1(建立動態資料應用程式)

來源:互聯網
上載者:User
文章目錄
  • 建立動態資料網站
  • 檢驗動態資料網站
  • 深入理解動態資料項目

       ASP.NET 動態資料讓我們能夠以少許的努力快速構建以資料為中心的 Web 應用程式。它通過解析資料模型架構中的類型資訊填充模板頁面,這完全不需要代碼或僅需要極少量的代碼。15 分鐘的工作足以讓人獲得深刻的印象,而在建立這些基礎的功能後,還可進行大量自訂。

 

       瞭解 ASP.NET 動態資料程式的最佳起點是建立一個樣本網站,只有這樣你才能知道它的設定和運行是多麼容易,以及有多少現成的功能可用。ASP.NET 動態資料網站的核心是資料庫模型。可以使用 LINQ to SQL 或者Entity Framework來產生資料庫模型。本文會使用 LINQ to SQL 。

 

建立動態資料網站
  • 建立一個新的 ASP.NET 動態資料項目。在 Visual Studio 中建立 ASP.NET Dynamic Data Linq to SQL 網站
  • 新增一個 LINQ to SQL 類,你會被提示將它放入 App_Code 目錄中
  • 將 Northwind 資料庫中的 Customer、Order、Order_Detail、Product 表拖放到 Northwind.dbml 檔案的設計器視窗

       此時的 Visual Studio 的情況應類似於這樣:

 

       將這個資料模型註冊到 ASP.NET 動態資料系統。開啟 Global.aspx 檔案,反注釋 RegisterRoutes 方法中調用 DefaultModel.RegisterContext 的行,如下:

 

       在這一行上執行 2 處修改,見紅色:

DefaultModel.RegisterContext(typeof(

NorthwindDataContext

), 

    new ContextConfiguration() { ScaffoldAllTables = true });

       修改類型是為了註冊資料模型。修改 ScaffoldAllTables 屬性的值是讓 ASP.NET 動態資料系統暴露我們添加到 Web 應用程式資料模型的全部 4 張表(以後我們會做更嚴格的控制)。

 

檢驗動態資料網站

       現在運行程式會看到如下的基架介面,ASP.NET 動態資料系統從資料模型中取得了這 4 張表並根據它們構建了頁面結構,你可以看到 Default.aspx 頁面上有每個表的連結:

       單擊 Customers 連結,可以看到一個包含了 Northwind.Customers 表前 10 條記錄的頁面:

       ASP.NET 動態資料系統根據資料模型建立了表,你可以看到網頁上的表格列和資料庫表 Customers 的列相對應。

       建立好的基架可以做很多有趣的事情:

  • 頁面的下方可以修改分頁的記錄數,也可以在頁面間切換或跳轉到指定的頁
  • 每行左端的 3 個按鈕可以完成相應操作
  • 最右側,ASP.NET 動態資料系統識別出了 Customers 表和 Orders 表之間的外鍵關係,並未每個記錄自動添加了導航的連結

       單擊其中任意一個連結,就會看到顯示某個選中客戶的全部訂單的頁面:

       注意頁面最右側,ASP.NET 動態資料系統通過資料模型識別出 Orders 表有兩個外鍵關係:

       返回首頁,單擊 Orders 連結,注意這裡有個 Customers 下拉式清單方塊(怎麼用,你懂的):

 

深入理解動態資料項目

       通過產生資料模型並修改了一行代碼,我們就建立了一個暴露資料庫表的 Web 應用程式,並且以智能且實用的方式實現了它。我們得到了完整的 CRUD 支援並靈活的使用外鍵進行記錄的導航,你不覺得這很酷嗎?

       現在,該看看項目自身並理解其中主要的部分了。ASP.NET 動態資料系統並不是你可能期望的那個代碼產生功能。它其實是一個非常靈活且可配置的模板系統。下面我們就對項目進行一下剖析,看圖:

  • App_Code 目錄包含程式碼,現在只有資料模型類。不過後續為了對網站進行自訂,我們將陸續添加一些代碼
  • DynamicData 目錄中,展開 PageTemplates 目錄,你會看到 5 個模板(它們都是用富資料控制項構建的使用者控制項)。
  • Filters 目錄包含了用於過濾記錄列表的控制項
  • FieldTemplates 目錄用於顯示不同資料欄位的控制項
  • EntityTemplates 目錄支援 ASP.NET 4 新增的名為實體模板的動態資料特性,是 DynamicData 控制項用來格式化資料元素的標記
  • CustomsPages 目錄支援自訂 ASP.NET 動態資料網站的某種機制。你可以把自訂的模板放到這裡以自訂資料顯示的方式
  • Content 目錄包含呈現使用的靜態元素以及用於翻閱記錄列表的控制項
  • Global.aspx 在 ASP.NET 動態資料項目裡非常非常的重要,它用於註冊資料模型,還用於註冊路由
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.