設計ASP.NET新聞管理系統

來源:互聯網
上載者:User
asp.net|設計 摘要】利用ASP.NET和ADO.NET技術開發的網站新聞管理系統,實現了網站新聞的動態管理,使得對資訊的管理更加及時、高效,提高了工作效率。同時對系統的開發原理、系統的功能特點和設計方案進行了介紹。

  【關鍵詞】ASP.NET ADO.NET 新聞 管理 資料庫

  隨著Internet的普及,越來越多的企業建立了自己的WWW網站,企業通過網站可以展示產品,發布最新動向,與使用者進行交流和溝通,與夥伴建立聯絡,以及開展電子商務等。其中新聞管理系統是構成企業網站的一個重要組成部分,它擔負著雙層作用,一方面可以用來動態發布有關新產品或新開發項目,另一方面又可以及時向顧客公告企業經營業績、技術與研發進展、精選或優惠的工程項目、產品和服務,從而吸引顧客,擴大顧客群。

  傳統的網站新聞管理方式有兩種,一是靜態HTML頁面,更新資訊時需要重新製作頁面然後上傳頁面並修改相應連結,這種方式因為效率太低已不多用。二是基於ASP和指令碼語言,將動態網頁和資料庫結合,通過應用程式來處理新聞,這是目前較為流行的做法。但是由於ASP本身的局限性使得系統有一些不可克服的缺陷,而採取了ASP.NET技術的系統效能上有了很大的改善,其主要表現在以下幾方面:

  1.由於ASP頁面每次開啟都必須經過先編譯後解釋的過程,所以頁面在反覆開啟時速度沒有任何提升,而ASP.NET頁面只需要一次編譯後不需要重新編譯,直到該頁面被修改或Web應用程式重新啟動。這使得在多次訪問時速度有了極大的提升。

  2.由於ASP沒有提供任何輸出資料為內容的元件,所以在使用ASP撰寫資料庫頁面時只能藉助ADO的RecordSet對象逐筆讀取記錄,而ASP.NET通過ADO.NET提供的DataGrid等資料庫元件可以直接和資料庫聯絡。

  3.ASP.NET支援應用程式的即時更新。管理員不必關掉網路伺服器或者甚至不用停止應用程式的運行就可以更新應用檔案。應用程式檔案永遠不會被加鎖,因此甚至在程式運行時檔案就可以被覆蓋。當檔案更新後,系統會溫和地轉換到新的版本。

  4.ASP.NET採取"code-behind"方式編寫代碼使得代碼更易於編寫,結構更清晰,降低了系統的開發與維護的複雜度和費用。

  1系統的開發原理

  1.1 基於ASP.NET技術的系統結構模型

  ASP.NET結構是一個三層系統:UI層、商務邏輯層和資料層,如圖1所示。


圖1 ASP.NET的系統結構模型

  UI層負責與使用者互動,接收使用者的輸入並將伺服器端傳來的資料呈現給客戶。

  商務邏輯層負責接收瀏覽器傳來的請求並將請求傳給資料層,同時將請求處理結果發給瀏覽器。它由Web表單、XML Web服務和元件服務組成。其中Web表單是ASP.NET應用程式的核心所在,它是向客戶呈現資料和資訊的基礎,也是響應和處理客戶與顯示的Web表單互動產生的資訊和資料的基礎。

  資料層是通過ADO.NET操縱資料為事務邏輯層提供資料服務,如儲存資料操作結果、返回資料檢索結果等。

  1.2 ADO.NET訪問資料庫的原理

  與資料庫相連,ADO.NET提供了如下3種方式:通過ODBC相連;通過OLEDB相連;直接與SQL Server相連。3種方式由於應用程式層次的差異,使得效率由低到高,獨立性由高到低。對於相連資料庫的資料處理,也有2種方式,即一種是通過DataSet來隔離異構的資料來源,另一種是以流方式從資料來源讀取(DataReader方式)。

  傳統的應用程式是通過先建立到資料庫的串連,在程式的整個運行過程中維護串連的方式來設計的。ASP.NET採取了中斷連線方式的資料結構。當瀏覽器向Web伺服器請求網頁時,伺服器處理這個請求,並將所請求的網頁發送給瀏覽器,然後串連就被斷開,直到瀏覽器發出下一個請求。

  ADO.NET的另一個創新是引入了資料集(Dataset)。一個資料集是記憶體中提供資料關係圖的高速緩衝區。資料集對資料來源一無所知,它們可以由程式或通過從資料倉儲中調入資料而被產生、填充。不論資料從何處擷取,資料集都是通過使用同樣的程式模板而被操作的,並且它使用相同的潛在的資料緩衝區。

  2 系統的功能設計

  2.1 系統的功能結構

  該新聞管理系統可以在Windows 2000 Server作業系統平台上運行,Web伺服器為IIS,資料庫伺服器為Microsoft SQL Server2000,開發工具採用的Microsoft Visual Studio .NET和DreamWeaver。圖2給出系統的功能結構圖。其工作流程為:使用者登入通過許可權判斷,普通使用者只能瀏覽、閱讀和查詢新聞,註冊使用者除了可以完成普通使用者的操作外,還可以進入新聞管理模組進行新聞錄入、修改和刪除的操作。註冊使用者除系統管理員外只能對自己錄入的新聞進行刪改操作。

  2.2 系統的功能特點

  (1)操作簡單、介面友好:完全控制項式的頁面配置,使得新聞的錄入工作更簡便;許多選項包括新聞類別、來源部門等只需要點擊滑鼠就可以完成;另外,跟蹤出現的提示資訊也讓使用者隨時清楚自己的操作情況。

  (2)即時可見:對新聞的處理(包括錄入、修改、刪除)將立即在首頁的對應欄目顯示出來,達到"即時發布、即時見效"的功能。


圖2 系統功能結構圖

  (3)功能完善:包括常見網站的新聞管理的各個方面:新聞錄入、瀏覽、刪除、修改、檢索等各個方面,完整地實現了網站對即時新聞的管理要求。

  (4)方便移植:針對不同的企業,只需要稍作修改就可以開發出適合本企業特點的網站新聞管理系統!


  3 系統的詳細設計

  系統的主要功能是通過幾個功能模組來實現的。具體的設計過程如下:

  ⑴ 系統登入:該模組負責將使用者分為普通使用者和註冊使用者來實現使用者權限的管理。

  ⑵ 新聞瀏覽:該模組負責分頁列出網站所有新聞的資訊,包括標題、類型、來源部門欄位及發布日期,每條新聞的標題被做成一個超連結,點擊它們就能跳轉頁面進行新聞閱讀。

  ⑶ 新聞閱讀:在其他頁面中點擊標題連結即進入新聞閱讀頁面,此時,每條新聞的詳細資料將被取出,包括內容、標題、關鍵字等,並按照相對固定的格式放置在頁面的不同地區,所有新聞使用大致相同的頁面配置,只是各欄位對應的內容不同而已,另外,頁面其它位置,可以動態放置其他元件,如網站標誌logo、頁面廣告banner等連結圖片,這樣可以很容易地實現圖文並茂的閱讀效果。

  ⑷ 新聞查詢:該模組提供了新聞查詢功能,輸入待尋找的內容及選定分類資訊可以快速地找到合格新聞,並輸出查詢結果。

  ⑸ 新聞管理:該模組負責分頁羅列登入的註冊使用者曾發布過且未刪除的新聞資訊,使用者可以對該條新聞進行刪除、修改。非新聞發行者除系統管理員外不具有對該條新聞的處理許可權,所以不同使用者進入此頁面將顯示不同的內容。

  ⑹ 新聞錄入和修改:註冊使用者錄入一條新聞所需要的內容,包含標題、關鍵字、類型、來源部門、發布日期等,同時從登入模組得到使用者名稱,這些資訊將被寫入資料庫中儲存。該模組還負責編輯狀態下的更新,這時,它將根據取得的Title欄位值對頁面控制項初始化。

  下面以系統登入頁面的編寫為例給出主要事件和函數,說明該系統的開發過程。

//IsRegUserOk函數:判斷使用者是否已經註冊和密碼是否正確
public bool IsRegUserOk()
{
string name=TextBoxName.Text.Trim();
string pwd=TextBoxPassword.Text.Trim();
//建立/開啟資料庫連接
SqlConnection conn=new SqlConnection();
conn.ConnectionString="server=(local);uid=sa;pwd=;database=jxdb";
conn.Open();
//建立sql字串
string sql="select * from reg where name='"+name+"'";
SqlDataReader dr;
SqlCommand cmd=new SqlCommand(sql,conn);
dr=cmd.ExecuteReader();
//保留使用者註冊與否資訊
bool isRegUserExist=dr.Read();
//關閉DataReader
dr.Close();
//取得使用者名稱的密碼
string sqlBoth="select * from reg where name='"+name+"'";
sqlBoth+="and pwd='"+pwd+"'";
SqlCommand cmdBoth=new SqlCommand(sqlBoth,conn);
SqlDataReader drBoth;
drBoth=cmdBoth.ExecuteReader();
//保留使用者名+密碼同時存在資訊
bool isBothExist=drBoth.Read();
//關閉DataReader
drBoth.Close();
conn.Close();
//判斷使用者是否註冊
if(!isRegUserExist)
{
Response.Write("<script>alert('此使用者尚未註冊!')");
return false;
}
//判斷使用者名稱與密碼是否一致
else if(!isBothExist)
{
Response.Write("<script>alert('使用者名稱和密碼不一致,不能進入!')");
return false;
}
else
return true;
}

  最後給出系統後端資料存放區方案:

  利用Microsoft SQL Server 2000建立資料庫及其預存程序。這裡給出兩個必需的資料表,一是資料表News包含的欄位有:編號、姓名、標題、關鍵字、內容、類型、來源部門和日期。欄位說明如下:


  二是資料表Reg包含的欄位有:編號、姓名、密碼、所屬部門、電子郵箱和電話。欄位說明如下:




聯繫我們

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