国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET的Web controls

2024-07-10 13:11:55
字體:
供稿:網(wǎng)友

   web controls使創(chuàng)建forms 和html controls.的工作將會變得簡單易行。例如在asp中典型的選擇框/ select box里,你不得不創(chuàng)建一個循環(huán)以便讓控制系統(tǒng)裝入數(shù)據(jù)。但在asp.net里,你將會擁有一個"data-bound",這意味著它會與數(shù)據(jù)源連接,并會自動裝入數(shù)據(jù)。
  
    這些功能聽起來簡直是妙不可言,但是讓我們細(xì)細(xì)的來檢驗一下。通過傳統(tǒng)的asp和ado,你能夠選擇在哪里放置數(shù)據(jù)庫游標(biāo)(服務(wù)器一邊或是用戶一邊),至于其它的,是依靠你想要創(chuàng)建的性能和功能類型來做決定。但是在asp+里,你不再有選擇。因為在web controls和服務(wù)器之間的 鏈接,迫使你不得不將所有的事物都放置在客戶方。對于客戶和服務(wù)器來說,不啻于一個性能中心,因為它必須將所有的數(shù)據(jù)存儲在本地內(nèi)存里。
  
    web controls 也在嚴(yán)格的xml 術(shù)語中引進了新的語法。因此,你會不再有比較松散的代碼編輯過程,你必須關(guān)閉所有的標(biāo)記符,使用定義等等。當(dāng)然,大多數(shù)人對于適應(yīng)這個功能會感到非常痛苦,但是嚴(yán)格的的代碼編輯過程通常意味著更少的錯誤。
  
    另一方面關(guān)于web forms 缺陷在于,要想使用web form的大部分功能,你必須使用forms 的post 方法;例如,state 管理。當(dāng)你使用get方法時,所有的all best 會被關(guān)閉掉,你就不能使用相應(yīng)的功能。這個限制實在太沒必要了。
  
    asp.net server controls
  
    許多系統(tǒng)過去的組成部分現(xiàn)在成為asp.net server controls。例如:ad rotator已升級,并開始用xml來存儲它的信息,但不僅僅于此。這兒有一整套控制系統(tǒng),它可以做任何事情,從代為管理你的表單狀態(tài)到顯示日歷、桌面。事實上,幾乎每html元素都有asp.net server controls,通過asp.net server control,可以與html元素程式化的相互影響。例如,你不再需要為了維持一個在listbox里選定的 option而大走彎路。你只需指示listbox 在服務(wù)器里運作并代你進行管理就可以了。更為方便的是,你只需設(shè)定好程序,listbox就會按指令依次顯示選定的項目。

    也許在這個新的 controls中最有趣的莫過于 datagrid。datagrid是一個多列的數(shù)據(jù)綁定網(wǎng)格,通過它你可以輕而易舉的將數(shù)據(jù)置于其中。它同時提供分頁、排序等所有你所期望的功能。我們看一個datagrid的例子.
  
    注:我們將在另外的文章里介紹datagrid的屬性和方法。
  
  $#@60;%@ page language="c#" src="datagrid.cs" inherits="sample atagridpage"%$#@62;
  ...
  
  $#@60;asp:datagrid runat=server id="titlesgrid"$#@62;
  $#@60;/asp:datagrid$#@62;
  
    上面的 .aspx 文件顯示在不設(shè)置 datagrid 控件任何屬性的情況下對其進行聲明。
  
  datagrid.cs:
  
  namespace samples {
  ...
  
  public class datagridpage : page {
  protected datagrid titlesgrid;
  
  public icollection gettitleslist() {
  
  // 從在應(yīng)用程序狀態(tài)中高速緩存的 dataset 中檢索標(biāo)題列表。
  dataset titlesdataset = (dataset)application["titlesdataset"];
  
  if (titlesdataset != null) {
  return titlesdataset.tables["title"].defaultview;
  }
  else {
  return null;
  }
  }
  
  private void loadtitlesgrid() {
  
  // 從數(shù)據(jù)庫中檢索數(shù)據(jù)
  icollection titleslist = gettitleslist();
  
  // 設(shè)置控件的數(shù)據(jù)源
  titlesgrid.datasource = titleslist;
  
  // 并使它用此數(shù)據(jù)源構(gòu)建其項目
  titlesgrid.databind();
  }
  
  protected override void onload(eventargs e) {
  base.onload(e);
  
  if (!ispostback) {
  
  // 首次請求此頁
  loadtitlesgrid();
  }
  }
  }
  }
  
    記錄丟失,對于程序員來說是一個非常嚴(yán)重的事情。在新的系統(tǒng)中, 中心對象是dataset。它與recordset相類似,是數(shù)據(jù)內(nèi)在存儲記憶的副本。dataset對于您的開發(fā)來說是中心所在,但是現(xiàn)在,我只能說它只是相近與xml,使程式在簡單化和統(tǒng)一化的過程中,相對簡單。你還是可以用你過去用過的來處理一切…(除了服務(wù)器端游標(biāo))…

國內(nèi)最大的酷站演示中心!
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 彭山县| 乌兰浩特市| 白河县| 德惠市| 富源县| 台州市| 陆丰市| 咸宁市| 简阳市| 禹城市| 阿瓦提县| 西盟| 福清市| 尼玛县| 历史| 三门县| 钟祥市| 西昌市| 信丰县| 大同县| 兴化市| 家居| 罗江县| 那坡县| 绥芬河市| 巨野县| 安国市| 柳江县| 博野县| 遂溪县| 城固县| 静海县| 临泉县| 略阳县| 八宿县| 修武县| 泉州市| 靖远县| 包头市| 剑阁县| 常山县|