激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - C#創建Web應用程序代碼實例

C#創建Web應用程序代碼實例

2020-09-16 14:20wbb JAVA教程

本文主要通過實例代碼介紹了C#創建Web應用程序,需要的朋友可以參考下

使用微軟正在推行的.NET技術和C#語言可以快速建立Web應用程序,其安全性和可升級性都大大勝過普通的ASP應用程序。在這篇文章里,我們將使用.NET和C#一步一步的建立一個應用程序。

  系統需求:

  Internet Explorer 5.5

  Windows 2000 Professional, Server 或 Advanced Server

  ASP+/Microsoft .NET (預覽版可以在 http://msdn.microsoft.com/net 下載)

  SQL Server 7.0 + SP1 或更高版本

  使用微軟 .NET的高級對象模型(Advanced Object Model)可以快速建立安全的,易于升級性的Web應用程序。

  微軟的 .NET是一個開發商業解決方案的理想技術。.NET技術結合C#的彈性和高性能,開發商業程序比以往僅僅使用ASP的方法更為簡單。

  在這篇文章里,我們將使用 .NET和C#來建立一個簡單的商業應用程序--一個能夠讓客戶瀏覽你的產品目錄的程序。

  這個程序包含了最基本的.NET和C#技術,在本文中,將涉及到如何建立和編譯C#的商業應用層組件。也將談到怎樣使用ASPX頁面存取組件和綁定數據。綜合使用這些技術,可以花費比傳統的ASP方法更少的時間建立Web應用程序。

  穩固的.NET應用程序仍然依靠于穩固的數據庫計劃和精心編寫的存儲過程。

  應用程序可以通過組件調用已經寫好的存儲過程。大部分多層方法都不推薦直接從程序中調用數據,那樣會降低程序的速度,也不利于調試。

  本文主要討論C#和ASP+,不過多的討論建立數據庫和存儲過程。

組件的開發

  我們將要編寫的c#組件同時作為邏輯層和數據存取層。

  如果打算將來把程序移植到另一種數據庫中,比如Oracle,那么需要把邏輯層和數據存取層分別放在兩個組件中。本文中只使用SQL Server,所以不需要分開它們。

  這個應用程序需要兩個頁面:Default.aspx 和 ProductList.aspx。 Default.aspx 是用戶訪問Web首先看見的頁面,它列出所有的產品種類。用戶從Default.aspx菜單中選擇種類后,將進入ProductList.aspx頁面,這個頁面顯示了當前類所有產品的列表。

  在用戶使用這兩個頁面的過程中,發生了兩個動作:第一個是在菜單中列出產品種類(Default.aspx),第二個是在產品列表的頁面中列出產品(ProductList.aspx)。

我們可以建立兩個函數來完成這兩個任務,這兩個函數都通過調用存儲過程獲取數據。對應這兩個函數,我們在一個叫做CommerceDotNet的名字空間中建立起兩個類:Category 和 Product。(圖1)使用CommerceDotNet.Categories實例化Categories類,使用CommerceDotNet.Products實例化Products類。

為了使代碼清晰,我們在不同的文件中分別聲明這兩個類。由于他們共享一個名字空間,即使在不同的文件聲明,在編譯后也將成為一個單獨的組件。

 CategoryList方法傳遞了一個包含所有產品種類的數據集給系統。在Categories類中加入CategoryList的方法。

  代碼如下:

?
1
2
3
4
5
6
namespace CommerceDotNet {
  public class Categories {
   public DataSet CategoryList() {
   }
  }
 }

  建立了這個類以后,開始為CategoryList方法添加代碼。

  CategoryList方法獲取數據的過程分為四步:

1.通過SQLConnection和SQLDataSetCommand對象建立數據連接和命令對象。

2.把命令對象類型設置為存儲過程。

3.把存儲過程ListCategory的結果送入數據集。

4.把包含結果的數據集返回給調用它的函數。

  完整的CategoryList方法代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
public DataSet CategoryList() {
  // 建立數據連接和命令對象
  SQLConnection myConnection = new SQLConnection
  ("server=localhost;uid=sa;pwd=;database=commercedotnet");
  SQLDataSetCommand myCommand = new SQLDataSetCommand("ListCategory", myConnection);
  // 設置命令對象類型為存儲過程
  myCommand.SelectCommand.CommandType = CommandType.StoredProcedure;
  // 建立和填充數據集
  DataSet myDataSet = new DataSet();
  myCommand.FillDataSet(myDataSet, "CategoryList");
  // 返回數據集
  return myDataSet;
 }

  ProductsList方法和CategoryList方法類似,但是ProductsList向存儲過程傳遞了一個參數。

  代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public DataSet ProductsList(int categoryID) {
  // 建立數據連接和命令對象
  SQLConnection myConnection = new SQLConnection
  ("server=localhost;uid=sa;pwd=;database=commercedotnet");
  SQLDataSetCommand myCommand = new SQLDataSetCommand("ListProducts", myConnection);
  // 設置命令對象類型為存儲過程
  myCommand.SelectCommand.CommandType = CommandType.StoredProcedure;
  // 向存儲過程傳遞參數
  SQLParameter parameterCategoryID = new SQLParameter("@CategoryID", SQLDataType.Int, 4);
  parameterCategoryID.Value = categoryID;
  myCommand.SelectCommand.Parameters.Add(parameterCategoryID);
  // 建立和填充數據集
  DataSet myDataSet = new DataSet();
  myCommand.FillDataSet(myDataSet, "Products");
  // 返回數據集
  return myDataSet;
 }

  2個類都建立好以后,編譯程序。

  使用命令:csc /out:../bin/CommerceDotNet.dll /t:library /r:System.Data.dll CategoryDB.cs ProductDB.cs

  "/out:"開關指定編譯庫名和存放位置,"/t:"開關告訴編譯器建立庫,"/r:"開關指出組件涉及到的其他庫,完整的源程序在文末后面列出。

ASP+頁面的開發

  建立好組件以后,下面的工作是開發作為用戶界面ASP+頁面。前面的部分,我們設計了default.aspx 和 productslist.aspx 頁,Default.aspx頁是站點被裝入后的第一頁,我們就從建立這個缺省頁面開始。

  當頁面讀入時,觸發Page_Load()方法,這個方法完成了從數據庫獲取的數據并綁定到MyList的任務。首先,聲明一個ICollection型變量menuItems。然后,實例化組件,調用CategoryList方法,把數據集存放在menuItems對象中。設置MyList的數據源為menuItems。執行MyList.DataBind方法把數據綁定到MyList。

  這部分代碼如下:

?
1
2
3
4
5
6
7
8
9
  <script language="C#" runat="server">
  void Page_Load(Object sender, EventArgs e) {
   ICollection menuItems;
    CommerceDotNet.Categories categories = new CommerceDotNet.Categories();
menuItems = categories.CategoryList().Tables[0].DefaultView;
    MyList.DataSource = menuItems;
    MyList.DataBind();
   }
  </script>

  default.aspx中其他代碼與傳統的ASP頁面類似,請參見文末列出的代碼。

  ProductList.aspx與default.aspx類似,但是,綁定數據的代碼有些變化,因為,在開發C#組件的時候,我們在CommerceDotNet.ProductsList方法中向存儲過程中傳遞了參數,所以,ASP+頁面中也需要有相應的變化。

  CommerceDotNet.Products products = new CommerceDotNet.Products();

  MyProductList.DataSource = products.ProductsList(categoryId).Tables[0].DefaultView;

  MyProductList.DataBind();

  至此,兩個ASP+頁面也創建完畢。

  這樣,結合C#和ASP+的最基礎的應用程序就創建好了。

  這個程序展示了微軟.NET和C#技術的強大威力,在這個基礎上,再作進一步的增添和修改,很容易開發出強大的站點。

希望本篇文章對您有所幫助

原文鏈接:http://www.2cto.com/kf/200609/12485.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲一级网站 | 在线播放免费播放av片 | 91av在线影院| 激情在线观看视频 | 国产成人精品区一区二区不卡 | 制服丝袜成人动漫 | 伊人久久电影网 | 青青久在线视频 | 欧日韩 | 亚洲情视频 | 国产日韩在线观看视频 | 萌白酱福利视频在线网站 | 久久久久国产成人免费精品免费 | 2021狠狠操 | 免费黄色小网站 | 九九久久视频 | 国产精品成人久久 | 久久网站免费 | 高潮激情aaaaa免费看 | 午夜精品久久久久久中宇 | 极品xxxx欧美一区二区 | 一区二区视 | 久久久视频免费观看 | 成人午夜精品久久久久久久3d | 国产欧美成人精品第二区 | 91久久久久久久久久久久久 | 北京一级毛片 | 亚洲一区免费电影 | 国产精品色综合 | 蜜桃av网| 色人阁在线视频 | 久久久久久久久久亚洲精品 | 久久精品久 | 精品一区二区三区中文字幕老牛 | 日本欧美一区二区三区视频麻豆 | 亚洲人成网站在e线播放 | 久久久av亚洲男天堂 | 日韩视频在线一区二区三区 | 97青青草视频| 国产一区国产二区在线观看 | 九九热在线视频观看 |