ASP.NET的Web controls

來源:互聯網
上載者:User
asp.net|web

   Web controls使建立forms 和HTML controls.的工作將會變得簡單易行。例如在ASP中典型的選擇框/ select box裡,你不得不建立一個迴圈以便讓控制系統裝入資料。但在ASP.NET裡,你將會擁有一個"data-bound",這意味著它會與資料來源串連,並會自動裝入資料。
  
    這些功能聽起來簡直是妙不可言,但是讓我們細細的來檢驗一下。通過傳統的ASP和ADO,你能夠選擇在哪裡放置資料庫遊標(伺服器一邊或是使用者一邊),至於其它的,是依靠你想要建立的效能和功能類型來做決定。但是在ASP+裡,你不再有選擇。因為在web controls和伺服器之間的 連結,迫使你不得不將所有的事物都放置在客戶方。對於客戶和伺服器來說,不啻於一個效能中心,因為它必須將所有的資料存放區在本地記憶體裡。
  
    Web controls 也在嚴格的XML 術語中引進了新的文法。因此,你會不再有比較鬆散的代碼編輯過程,你必須關閉所有的標記符,使用定義等等。當然,大多數人對於適應這個功能會感到非常痛苦,但是嚴格的的代碼編輯過程通常意味著更少的錯誤。
  
    另一方面關於web forms 缺陷在於,要想使用web form的大部分功能,你必須使用forms 的POST 方法;例如,state 管理。當你使用GET方法時,所有的all best 會被關閉掉,你就不能使用相應的功能。這個限制實在太沒必要了。
  
    ASP.net Server Controls
  
    許多系統過去的組成部分現在成為ASP.NET Server Controls。例如:ad rotator已升級,並開始用XML來儲存它的資訊,但不僅僅於此。這兒有一整套控制系統,它可以做任何事情,從代為管理你的表單狀態到顯示日曆、案頭。事實上,幾乎每HTML元素都有ASP.NET Server Controls,通過ASP.NET Server Control,可以與HTML元素程式化的相互影響。例如,你不再需要為了維持一個在LISTBOX裡選定的 OPTION而大走彎路。你只需指示LISTBOX 在伺服器裡運作並代你進行管理就可以了。更為方便的是,你只需設定好程式,LISTBOX就會按指令依次顯示選定的項目。

    也許在這個新的 controls中最有趣的莫過於 DataGrid。Datagrid是一個多列的資料繫結網格,通過它你可以輕而易舉將資料置於其中。它同時提供分頁、排序等所有你所期望的功能。我們看一個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 檔案顯示在不設定 DataGrid 控制項任何屬性的情況下對其進行聲明。
  
  DataGrid.cs:
  
  namespace Samples {
  ...
  
  public class DataGridPage : Page {
  protected DataGrid titlesGrid;
  
  public ICollection GetTitlesList() {
  
  // 從在應用程式狀態中快取的 DataSet 中檢索標題列表。
  DataSet titlesDataSet = (DataSet)Application["TitlesDataSet"];
  
  if (titlesDataSet != null) {
  return titlesDataSet.Tables["Title"].DefaultView;
  }
  else {
  return null;
  }
  }
  
  private void LoadTitlesGrid() {
  
  // 從資料庫中檢索資料
  ICollection titlesList = GetTitlesList();
  
  // 設定控制項的資料來源
  titlesGrid.DataSource = titlesList;
  
  // 並使它用此資料來源構建其項目
  titlesGrid.DataBind();
  }
  
  protected override void OnLoad(EventArgs e) {
  base.OnLoad(e);
  
  if (!IsPostBack) {
  
  // 首次請求此頁
  LoadTitlesGrid();
  }
  }
  }
  }
  
    記錄丟失,對於程式員來說是一個非常嚴重的事情。在新的系統中, 中心對象是Dataset。它與recordset相類似,是資料內在儲存記憶的副本。Dataset對於您的開發來說是中心所在,但是現在,我只能說它只是相近與XML,使程式在簡單化和統一化的過程中,相對簡單。你還是可以用你過去用過的來處理一切…(除了伺服器端遊標)…



相關文章

聯繫我們

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