DataList和Repeater里的自定義button控件的使用 列表數(shù)據(jù)和中繼器 自定義按鈕控件的使用 學習內(nèi)容:為ItemCommand event創(chuàng)建一個event handler將服務器端代碼和點擊button關(guān)聯(lián)起來。
DataList和Repeater可以在templates里包含很多Buttons, LinkButtons, ImageButtons。這些button被點時會引起postback,并激發(fā)ItemCommand事件。為ItemCommand event創(chuàng)建一個event handler可以將服務器端代碼和點擊button關(guān)聯(lián)起來。在這個event handler里首先檢查傳入的CommandName的值來判斷是哪個button被點了。其它另外的信息可以通過CommandArgument屬性來提供。 //類CommandEventArgs有兩個公共屬性,CommandName(用來獲取命令的名稱)和CommandArgument(用來獲取命令的參數(shù))。 任何時候,當DataList或Repeater的template里的Button, LinkButton, ImageButton被點時,會產(chǎn)生postback,并激發(fā)DataList或Repeater的ItemCommand事件。除了ItemCommand外,如果button的CommandName 設為(“Delete”, “Edit”, “Cancel”, “Update”, “Select”)其中一個時,DataList會激發(fā)另外一個事件。但ItemCommand都是會被激發(fā)的。 當DataList或Repeater的template里的Button被點時,通常需要獲取哪個button被點了(一個控件里可能有多個button,比如編輯和刪除),還可能需要一些其它的信息(比如那些button被點的item(項)的主鍵)。Button, LinkButton, ImageButton提供了兩個屬性,它們的值可以傳給ItemCommand event handler: 1. CommandName –表示template里每個button身份的字符串。
配置ObjectDataSource 當點“Show Products” LinkButton 時執(zhí)行服務器端代碼 當button被點時,產(chǎn)生postback并激發(fā)DataList或Repeater的ItemCommand事件。Button的CommandName和CommandArgument值被傳到event handler里。 為ItemCommand事件創(chuàng)建一個event handler,注意event handler的第二個參數(shù)(名字為e)。這個參數(shù)的類型為RepeaterCommandEventArgs,它有以下4個屬性: 1. CommandArgument – 被點的 button’的CommandArgument property 的值 注意:DataList的ItemCommand event handler傳入了一個DataListCommandEventArgs類型的對象,它提供和RepeaterCommandEventArgs 一樣的4個屬性。 C# 注意:如果需要修改這個報表的行為,比如一次只列出一個category的products,僅僅只需要將BulletedList的EnableViewState屬性設為False。 來自MSDN中的內(nèi)容: BulletedList類:創(chuàng)建一個控件,該控件生成一個采用項目符號格式的項列表。 命名空間:System.Web.UI.WebControls 若要指定 BulletedList 控件中用于顯示列表項的項目符號類型,請將 BulletStyle 屬性設置為 BulletStyle 枚舉定義的項目符號類型之一。下表列出了可用的項目符號樣式。 項目符號樣式
圖:BulletedList樣式 使用 FirstBulletNumber 屬性來指定排序 BulletedList 控件中開始列表項編號的值。如果 BulletStyle 屬性設置為 Disc、Square、Circle 或 CustomImage 字段,則忽略分配給 FirstBulletNumber 屬性的值。如果將 BulletStyle 屬性設置為 CustomImage 的值,以指定項目符號的自定義圖像,則您還必須設置 BulletImageUrl 屬性以指定圖像文件的位置。
若要指定 BulletedList 中列表項的顯示行為,請將 DisplayMode 屬性設置為 BulletedListDisplayMode 枚舉定義的值之一。定義的顯示行為是 Text、HyperLink 和 LinkButton。 單擊超鏈接時,將定位到相應的 URL。使用 Value 屬性指定超鏈接定位到的 URL。使用 Target 屬性指定框架或窗口,單擊超鏈接時,將在該框架或窗口顯示定位到的網(wǎng)頁。 當 DisplayMode 屬性設置為 LinkButton 時,BulletedList 控件將列表項顯示為鏈接,單擊這些鏈接將回發(fā)到服務器。若要以編程方式控制單擊鏈接按鈕時執(zhí)行的操作,請為 Click 事件提供事件處理程序。請注意,SelectedIndex 和 SelectedItem 屬性是從 ListControl 類繼承而來的,并且不適用于 BulletedList 控件。使用 BulletedListEventArgs 類的事件數(shù)據(jù)來確定單擊的 BulletedList 中的鏈接按鈕的索引。 BulletedList 控件也支持數(shù)據(jù)綁定。若要將 BulletedList 綁定到數(shù)據(jù)源,可以使用提供的任意數(shù)據(jù)綁定機制。
Button.CommandArgument 屬性獲取或設置可選參數(shù),該參數(shù)與關(guān)聯(lián)的 CommandName一起被傳遞到 Command 事件。命名空間:System.Web.UI.WebControls |
|
來自: 昵稱10525020 > 《htlp》