程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET 2.0打造購物車和支付系統之一

ASP.NET 2.0打造購物車和支付系統之一

編輯:關於ASP.NET

在本系列文章中,我們基於ASP.NET 2.0構建了一個簡化的在線購物車和PayPal系統;並通過這個示例,對ASP.NET 2.0中新引入的GridView控件作了深入研究。

到目前為止,我幾乎在每一個我參加過的商業C#.net工程中使用了DataGrid控件;因此,當我第一次聽到有關於GridView是如何提高工作效率時,我飛快地試用了它。DataGrid和GridView都是ASP.NET 2.0中提供的新的控件類,它們允許你快速容易地顯示表格式數據;並且當在線觀看它們時,它們都能被轉換為客戶端HTML表格進行顯示。

一.簡介

這是系列文章的第一篇。在本篇中,我們將通過一個簡單的網上商店示例程序來集中討論GridView控件的一些用法。注意,在每一篇文章中我們都使用相同的源文件。為了觀察本文示例演示效果,你只需要把下載內容解壓到你的web服務器上一個新的目錄並浏覽到該目錄名即可。例如,如果你把所有的內容解壓到一個你的web服務器根目錄下的目錄“gridviewshop”,並導航到這個目錄:

http://www.yourserver.com/gridviewshop

如果一切順利,那麼你應該會看到一個如下圖1所示的站點:

圖1:本系列文章網上商店演示程序快照

二.GridView

如果你已經使用DataGrid實現了你的系統,包括你自己的定制分頁與排序方案,那麼,你真正不需要考慮更新到GridView;因為從終端效果來看,它們都生成相同的內容(都生成一個HTML表格)。然而,如果你剛開始開發一個新的系統,那麼,我建議你使用GridView,特別是如果你想利用它內置的分頁與排序功能的話。

通過在設計時刻設置各種屬性,你可以控制GridView從外觀到功能等若干方面。在本系列文章後面,我們將會更為深入地探討這些方面,通過把一些CSS類指派給表格行和表格列頭;當然,還要添加一些事件處理器以便允許用戶與每一行數據進行交互。

填充GridView類似於填充一個DataGrid。你只需創建DataSource,然後使用如下代碼把它綁定到GridView即可:

myGridView.DataSource = yourDataSource;

myGridView.DataBind();

當然,借助於.NET 2.0,你還有另一種選擇,那就是創建一個SqlDataSource並把GridView直接綁定到其上。這是通過設置它的DataSourceID以匹配你指派給SqlDataSource的ID實現的,即是:

<!--使用mySqlDataSource的ID創建SqlDataSource-->
<asp:SqlDataSource
id="mySqlDataSource"
runat="server"
DataSourceMode="DataReader"
ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
SelectCommand="SELECT LastName FROM Employees">
</asp:SqlDataSource>
<!--創建GridView並且指派它的DataSourceID以匹配上面的mySqlDataSource-->
<asp:GridView
id="myGridView"
runat="server"
autogeneratecolumns="true"
DataSourceID="mySqlDataSource"/>

作為個人,我並不太看重這種方法,盡管它是微軟推薦的建立你的GridView的方法。我比較喜歡更多地控制我的DataSource;因為,這樣以來我能夠手工過濾它的內容甚至更多,這也正是為什麼我在這個商店演示程序中沒有使用這個方法的原因。

好,下面讓我們繼續討論構建本文中的商店演示程序。其大致情況是,在一個頁面上存在兩個GridViews;你在前面已經看到這個圖像。一個GridView用於顯示我們的商店的產品,而其它的內容對應於購物籃。

你能夠容易地把這兩部分拆分到它們各自的頁面中,但是為了簡化起見,我們把這些內容放到了一起。

如果你打開Default.aspx(它包括在本文相應的zip源碼文件中),你能夠看到這個頁面是如何建立的。

大多數HTML僅僅用於實現包裝之目的;需要注意的是,位於頁面頂部的聲明以及主<form>標簽和位於其內的<GridView>標簽。

三.頁面聲明

<%@ page inherits="shop.site" src="cs/site.aspx.cs" %>

該頁面聲明簡單地告訴我們的頁面它屬於什麼命名空間和類。在這個例子中,我們的命名空間是“shop”而我們的類是“site”。還存在一個稱為“src”的額外屬性定義,它指向包含該站點類的普通的.cs文本文件。

我通常在開發期間,把我的類放在外部.cs文件中,並把它們手工地編譯成.dll文件。當我使用Visual Studio時,在開發期間,我總是習慣使用預編譯的dll,因為稍後,只需要一個簡單的構建即可以生成它們。一旦我完成了相應的工作,我都會把該類構建成預編譯的dll;但是,在開發期間,我比較喜歡把較多的時間花費在編碼方面而不是編譯上。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved