狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频

當前位置:系統之家 > 技術開發教程 > 詳細頁面

用C#創建Web應用程序

用C#創建Web應用程序

更新時間:2024-04-09 文章作者:未知 信息來源:網絡 閱讀次數:

使用微軟正在推行的.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的方法。

  代碼如下:

  namespace CommerceDotNet {

   public class Categories {

    public DataSet CategoryList() {

    }

   }

  }

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

  CategoryList方法獲取數據的過程分為四步:1.通過SQLConnection和SQLDataSetCommand對象建立數據連接和命令對象。2.把命令對象類型設置為存儲過程。3.把存儲過程ListCategory的結果送入數據集。4.把包含結果的數據集返回給調用它的函數。

  完整的CategoryList方法代碼如下:

  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向存儲過程傳遞了一個參數。

  代碼如下:

  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;

   }

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

  使用命令: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。

  這部分代碼如下:

  <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#技術的強大威力,在這個基礎上,再作進一步的增添和修改,很容易開發出強大的站點。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频
在线视频欧美精品| 亚洲国产高清一区二区三区| 爽好久久久欧美精品| 亚洲综合免费观看高清完整版在线| 久久女同互慰一区二区三区| 日韩精品中午字幕| 亚洲精品一区二区三区精华液 | 欧美高清hd18日本| 欧美午夜片在线观看| 91极品美女在线| 在线视频国内自拍亚洲视频| 欧美在线观看禁18| 欧美一区二区三区四区五区 | 精品久久久久久久久久久久包黑料| 欧美一区二区在线免费观看| 欧美一区二区三区影视| 精品免费日韩av| 国产精品网站导航| 亚洲色图一区二区| 亚洲大片精品永久免费| 婷婷综合五月天| 久久99精品久久久久久动态图| 久久av中文字幕片| av不卡免费电影| 99久久久久久| 亚洲激情亚洲| 欧美午夜电影在线播放| 日韩一区二区精品在线观看| 国产午夜精品美女毛片视频| 椎名由奈av一区二区三区| 亚洲大尺度视频在线观看| 黄色资源网久久资源365| 99精品欧美一区| 99成人在线| 欧美日韩国产一二三| 久久久久久日产精品| 亚洲精品久久久久久国产精华液| 日韩电影免费在线看| 成人动漫一区二区三区| 亚洲日本成人| 欧美日韩一区精品| 久久免费电影网| 亚洲福利视频一区| 国产精品影视天天线| 伊人蜜桃色噜噜激情综合| 日本韩国精品在线| 久久久久久综合| 免费人成精品欧美精品| caoporm超碰国产精品| 麻豆成人av| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 亚洲高清中文字幕| 成人黄色a**站在线观看| 国产精品有限公司| 久久先锋资源网| 美女任你摸久久 | 欧美大尺度电影在线| 一区二区在线观看视频在线观看| 韩国三级电影一区二区| 亚洲国产精品第一区二区| 亚洲影视资源网| 亚洲成人午夜影院| 成人国产精品免费网站| 久久久久欧美| 欧美国产97人人爽人人喊| 久久精品久久99精品久久| 精品动漫3d一区二区三区免费| 欧美精三区欧美精三区| 一区二区三区产品免费精品久久75| 国产成人av资源| 欧美午夜免费电影| 亚洲综合激情另类小说区| eeuss鲁一区二区三区| 欧美日韩国产高清一区二区 | av男人天堂一区| 欧美剧情电影在线观看完整版免费励志电影 | 欧美成人高清电影在线| 国产拍欧美日韩视频二区| 日本大胆欧美人术艺术动态| 亚洲视频福利| 精品国产乱码久久久久久夜甘婷婷| 视频一区二区国产| 99av国产精品欲麻豆| 久久精品视频网| 成人午夜免费电影| 欧美视频三区在线播放| 午夜精彩视频在线观看不卡| 红杏aⅴ成人免费视频| 欧美精品一区二| 成人av网址在线| 欧美一区日本一区韩国一区| 蜜桃视频在线一区| 可以免费看不卡的av网站| 亚洲精品视频在线观看免费| 久久婷婷影院| 一区二区三区四区国产精品| 欧美欧美全黄| 久久精品一级爱片| 91浏览器在线视频| 久久夜色精品一区| 91视频一区二区| 久久久久国产精品厨房| 91浏览器打开| 国产欧美日韩在线观看| 欧美精品91| 中文字幕在线免费不卡| 亚洲高清不卡| 亚洲国产一区二区三区青草影视| 在线视频亚洲| 午夜精品一区二区三区电影天堂| 久久综合图片| 精品一区二区成人精品| 久久久久久久国产精品影院| 懂色av一区二区三区免费看| 精品免费国产二区三区| 91麻豆123| 亚洲日本va在线观看| 国产伦理一区| 久久激情五月婷婷| 91精品福利在线一区二区三区 | 国产午夜精品久久久久久免费视 | 美女爽到呻吟久久久久| 日韩精品亚洲专区| 在线不卡欧美精品一区二区三区| 国v精品久久久网| 国产三级一区二区| 一区二区三区欧美成人| 奇米四色…亚洲| 日韩精品中文字幕在线不卡尤物| 午夜久久美女| 性感美女久久精品| 91精品在线一区二区| 欧美片第1页综合| 亚洲福利视频一区二区| 欧美一级淫片007| 欧美午夜精品久久久久免费视| 亚洲精品ww久久久久久p站| 色综合久久久久久久久久久| 国产精品99久久久久久似苏梦涵| 久久精品人人爽人人爽| 亚洲一区二区三区午夜| 国产美女视频91| 中文字幕五月欧美| 欧美天堂一区二区三区| 欧美成人tv| 美女视频免费一区| 久久久精品黄色| 色欧美日韩亚洲| 女人天堂亚洲aⅴ在线观看| 日韩精品欧美成人高清一区二区| 日韩欧美在线观看一区二区三区| 亚洲国产1区| 国产成人在线色| 亚洲精品视频在线观看免费| 日韩一区二区在线看片| 一区二区三区精品视频在线观看| 国产精品主播直播| 一区二区欧美国产| 2020国产精品自拍| 91国产免费看| 国语自产精品视频在线看抢先版结局 | 欧美综合一区二区| 国产综合精品一区| 国产精品一区不卡| 一区二区三区电影在线播| 精品盗摄一区二区三区| 久久综合亚州| 亚洲精品无人区| 91免费精品国自产拍在线不卡 | 国产亚洲毛片| 91啦中文在线观看| 国产乱子轮精品视频| 亚洲成av人影院在线观看网| 国产嫩草影院久久久久| 91精品国产一区二区三区| 国产精品一区在线播放| 国产精品swag| 成人黄色在线视频| 国产一区二区看久久| 午夜精品久久久| 亚洲伦在线观看| 国产欧美视频一区二区| 精品久久国产老人久久综合| 欧美在线观看视频一区二区三区 | 亚洲精品亚洲人成人网在线播放| 精品99久久久久久| 7777精品伊人久久久大香线蕉完整版 | 欧美日韩精品免费观看视一区二区 | 亚洲图片欧美激情| 国产视频视频一区| 日韩精品一区二区三区视频 | 欧美美女视频在线观看| 一本一道久久a久久精品综合蜜臀| 欧美另类高清视频在线| 91视频一区二区三区| 99久久婷婷国产综合精品电影 | 国内一区二区在线视频观看| 欧美成人午夜| 欧美啪啪一区| 国产综合18久久久久久|