ASP.Net常見技術疑難解析(一)

來源:互聯網
上載者:User
  • Repeater控制項的使用

Repeater控制項是ASP.Net資料呈現的重要控制項之一,當我們把控制項拖到介面時,控制項內什麼也沒有,一切都等待我們去手動建立,這樣雖然有點費事,但正是因為"一張白紙好畫畫",Repeater控制項在資料呈現時的自由度和靈活性也是最好的.它甚至允許我們在Header模板及Footer模板中使用諸如<table>之類的標籤.

對Repeater控制項的編輯基本上是在"源"視圖內手工編輯HTML代碼來完成的.添加table,tr,td及控制項的各大模板來控制資料的內容,格式及樣式等.

重複器控制項是唯一允許在模板間拆分標記的 Web 控制項。若要利用模板建立表,請在 HeaderTemplate 中包含表開始標記 (<table>),在 ItemTemplate 中包含單個表行標記 (<tr>),並在 FooterTemplate 中包含表結束標記 (</table>)。

重複器控制項沒有內建的選擇功能和編輯支援。但可以使用 ItemCommand 事件來處理從模板引發到該控制項的控制項事件。

重複器控制項提供兩個屬性以支援資料繫結。若要將資料繫結到實現 System.Collections.IEnumerable 介面(如 System.Data.DataView、System.Collections.ArrayList、System.Collections...Hashtable 或數組)或 IListSource 介面的任意對象,請使用 DataSource 屬性指定資料來源。在設定 DataSource 屬性時,必須手動編寫代碼才能執行資料繫結。若要將 重複器控制項自動綁定到由資料來源控制項表示的資料來源,請將 DataSourceID 屬性設定為要使用的資料來源控制項的 ID。在設定 DataSourceID 屬性時,重複器控制項自動綁定到第一個請求上指定的資料來源控制項。因此,除非更改了 重複器控制項的與資料相關的屬性,否則不必顯式調用 DataBind 方法。

  • GridView控制項中如何?列的格式化顯示及匯總計算

在.Net 1.0的時候,有DataGrid控制項可以在ItemDataBound事件中編寫指令碼,實現列的格式化顯示及匯總計算.而到了2.0時代,GridView控制項基本代替了DataGrid控制項,GridView控制項不僅可以輕鬆實現原來DataGrid控制項的資料呈現效果和功能,還可以非常方便的實現分頁,排序等DataGrid控制項中需要編寫大量代碼才能實現的功能.

  1. 格式化顯示資料:GridView控制項允許我們編輯列的屬性.其中的DataFormatString可以控制資料顯示的格式.如"{0:c}"表示以貨幣的標準格式顯示資料,"{0:d}"表示以短日期格式顯示日期;也可以在RowDataBound事件中實現資料的格式化.具體如下代碼.
  2. 匯總計算:要實現對列的匯總計算,必須逐項相加取累加值,我們可以利用RowDataBound事件逐行處理.呈現 GridView 控制項之前,該控制項中的每一行必須綁定到資料來源中的一條記錄。將某個資料行(用 GridViewRow 對象表示)綁定到 GridView 控制項中的資料以後,將引發 RowDataBound 事件。這使您可以提供一個這樣的事件處理方法,即每次發生此事件時就執行一個自訂常式(如修改綁定到該行的資料的值)。GridViewRowEventArgs 對象將傳遞給事件處理方法,以便您可以訪問正在綁定的行的屬性。若要訪問行中的特定儲存格,請使用 GridViewRowEventArgs 對象的 Row 屬性中包含的 GridViewRow 對象的 Cells 屬性。使用 RowType 屬性可確定正在綁定的是哪一種行類型(標題列、資料行等等)。具體代碼如下:

if (e.Row.RowType == DataControlRowType.DataRow)
{
    total += Double.Parse(e.Row.Cells[2].Text);//匯總計算
    e.Row.Cells[2].Text = string.Format("{0:c}", Convert.ToDouble(e.Row.Cells[2].Text)); //格式化顯示
}

if (e.Row.RowType == DataControlRowType.Footer)
{
    e.Row.Cells[0].Text = "總計:";
    e.Row.Cells[2].Text = string.Format("{0:c}", total);
}

  • 資料來源控制項中參數值的源

資料來源控制項需要使用參數值來指定需要選擇哪些資料,或者指定如何修改資料以及修改什麼資料。通常情況下,頁麵包含一些 UI,以定義那些必須在選擇操作中使用的參數,而資料繫結控制項提供了參數值來進行插入、更新和刪除操作。

Parameter 基類代表一個通用參數。Microsoft Visual Studio 2005 提供了諸如 QueryStringParameter 之類的參數,以便將資料從查詢字串參數請求到資料來源中。另一個非常有用的參數是 ControlParameter,該參數允許從任一控制項屬性中請求資料。如果內建參數類型不能滿足您的要求,則您可以定義自己的參數類型。這樣您就可以使頁面與粘接代碼不相關,而是將該代碼整齊地封裝在參數實現中。

除了從不同的源中請求值,這些參數還可以跟蹤值的更改情況,並通知這些更改的所屬資料來源,進而引發資料來源更改通知,最終在資料繫結控制項中觸發資料繫結操作。簡而言之,這就是使用 ControlParameters 時,主要的聲明性詳細方案所依據的原理。

相關文章

聯繫我們

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